在ble_app_peripheral示例代码中通知问题

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.wsdof.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
2个职位/ 0个新职位
最后发表
Rajapurerohit
离线
最后看到:12个月3天前
加入:2017-04-20 09:17
在ble_app_peripheral示例代码中通知问题

嗨Dialog_Support,

我在我的项目中使用ble_app_peripheral引用示例。我添加了“通知”特性,我想更新数据,每当我启用BLE_Scanner应用程序的“通知”特性。这是完全发生,但问题是,如果我禁用“通知”,然后我也得到数据更新在BLE_Scanner应用程序。不理解我哪里出错了。
有人能告诉我是什么问题吗?

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

嗨Rajapurerohit,

好吧,当你启用和禁用通知gattc_write_cmd_ind_handler()被触发并写入客户端配置特征与相应的值,实际更新值的函数是:

if (status == PRF_ERR_OK) / /确认状态

//设置客户端特征配置值
Status = attmdb_att_set_value(param->句柄,param->长度,(uint8_t*)&(param->值[0]));

你可以在禁用通知时检查这个值,如果它被设为零。如果该值为零,当您发送更新值的消息并发送通知时,代码应该通过attmdb_att_get_value(cfg_hdl, &length, &cfg_val)函数检查CCC是否已启用;如果cfg_hdl中的值具有PRF_CLI_START_NTF值,那么设备将继续发送通知。所以我认为错误就在这里。ble_app_peripheral还使用通知来更新ADC值,因此您可以看看这个示例。

由于MT_dialog