⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.wsdof.com/support.我们将在未来几天修复bug /优化搜索和标记。
6个职位/ 0个新职位
最后发表
marios256
离线
最后看到:1年10个月前
加入:2017-10-30 09:36
字节转移

你好,
我对ble数据传输还不熟悉。我试图通过读取一个特性从我的da14585发送数据到我的手机。当我初始化超过320个字节的字符数组时,程序停止运行。当我构建它时,我没有得到任何警告或错误。我想发送1-2千字节的数据。
提前谢谢你

设备:
MT_dialog
离线
最后看到:三个月两个星期前
工作人员
加入:2015-06-08 34
嗨marios256,

嗨marios256,

你到底是怎么做到的,当你提到你初始化超过320字节的char数组时你是怎么做到的?也许您的代码以一个硬错误或NMI处理程序结束,如果您从keil运行设备并使用调试器,这应该很容易跟踪。如果你想要一个大小为250字节的可读特性,那么你应该在user_custs1_def.h文件中声明这个特性,例如,你可以尝试用ADC 2特性,然后如果你想设置特点特定值必须与适当的配置发送CUSTS1_VAL_SET_REQ消息处理和结构长度字段和发送它,为了让定制概要文件将值设置为自定义数据库。

由于MT_dialog

marios256
离线
最后看到:1年10个月前
加入:2017-10-30 09:36
你好,

你好,
以#define DEF_USER_LED_STATE_CHAR_LEN 400为例。然后,在user_custs1_impl.c中,我创建了这个处理程序:
空白app_adcval1_timer_cb_handler ()

struct custs1_val_ntf_ind_req *req = KE_MSG_ALLOC_DYN(CUSTS1_VAL_NTF_REQ,
prf_get_task_from_id (TASK_ID_CUSTS1),
TASK_APP,
custs1_val_ntf_ind_req,
DEF_USER_LED_STATE_CHAR_LEN);
这幅画被认为是弗朗西斯科·德尔·焦孔多的妻子丽莎·盖拉尔迪尼的肖像,画在伦巴第白杨画板上。人们认为这幅画创作于1503年至1506年之间;然而,达芬奇可能一直创作到1517年。最近的学术研究表明,它不会在1513年前开始。它被法国国王弗朗西斯一世收购。”
申请- >处理= USER_IDX_LED_STATE_VAL;
申请- >长度= DEF_USER_LED_STATE_CHAR_LEN;

申请- >通知= true;
顺利进行,memcpy(请求- >价值DEF_USER_LED_STATE_CHAR_LEN);
ke_msg_send(点播);}

因此,当我进入调试会话,我按下运行按钮,它突然停止。我没有看到任何警告或错误。
非常感谢!

MT_dialog
离线
最后看到:三个月两个星期前
工作人员
加入:2015-06-08 34
嗨marios256,

嗨marios256,

您正在使用的信息是发送一个通知,而不是只改变数据库中的值为了中央读它,发送通知时只有第一个20字节要修改,除非你改变了MTU大小,你想转移。复制的代码粘贴在我身边ble_app_peripheral准确的鉴定,你所做的,我没有看到任何问题,只要我启用通知和问题的0 x01控制点我能够得到第一个20字节的字符串粘贴并保持连接。如果突然停止时没有启用通知或甚至没有连接到设备,那么问题不在于你正在做的mod,而在于你在SDK或演示中拥有的其他内容。

由于MT_dialog

marios256
离线
最后看到:1年10个月前
加入:2017-10-30 09:36
晚上好,

晚上好,
非常感谢你的帮助。如果我想要读取一个1000字节或更多的特征,我应该怎么做?
我写了这个结构,但它一直停止运行
struct custs1_val_set_req *req = KE_MSG_ALLOC(custs1_val_set_req, prf_get_task_from_id(TASK_ID_CUSTS1), TASK_APP, custs1_val_set_req);
申请- >处理= USER_IDX_LED_STATE_VAL;
申请- >长度= DEF_USER_LED_STATE_CHAR_LEN;
这幅画被认为是弗朗西斯科·德尔·焦孔多的妻子丽莎·盖拉尔迪尼的肖像,画在伦巴第白杨画板上。人们认为这幅画创作于1503年至1506年之间;然而,达芬奇可能一直创作到1517年。最近的学术研究表明,它不会在1513年前开始。它被法国国王弗朗西斯一世收购。”
顺利进行,memcpy(请求- >价值DEF_USER_LED_STATE_CHAR_LEN);
ke_msg_send(要求的);
我注意到,当我在user_custs1_def.h #define DEF_USER_LED_STATE_CHAR_LEN中初始化大约350-400时,出现了问题。如果我把它初始化为300,它就能正常工作。
提前谢谢!

MT_dialog
离线
最后看到:三个月两个星期前
工作人员
加入:2015-06-08 34
嗨marios256。

嗨marios256。

发送更多通知,只发送第一个bulk,然后在获得通知已成功存储在发送缓冲区后,发送第二个通知。每当发送通知时,您将获得CUSTS1_VAL_NTF_CFM(用于自定义概要文件),一旦收到该通知,您就会知道刚刚发送的通知将被传递到中央,因此您可以直接放置第二个通知。

关于停止运行,当您增加特征的大小时,可能会遇到平台重置,尝试从da1458x_config_advanced定义并增加DB_HEAP_SZ,例如,您可以设置一个值2048。

由于MT_dialog