通知BLE_APP_PERITITELAL示例代码中的问题

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
2个帖子/ 0新
最后一篇
Rajapurerohit.
离线
最后一次露面:10个月2周前
加入:2017-04-20 09:17
通知BLE_APP_PERITITELAL示例代码中的问题

hi dialog_support,

我在我的项目中使用BLE_APP_PERITERAL参考示例。我添加了“通知”的特征,我想每当我在BLE_Scanner应用程序中启用“通知”特征时更新数据。这是完美的,但问题是如果我禁用“通知”那么我也可以在BLE_Scanner应用程序中获取数据。不理解我错了。
有人可以建议我这个问题是什么?

设备:
mt_dialog.
离线
最后一次露面:4个月5天前
职员
加入:2015-06-08 11: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,长度,&CFG_VAL)检查CCC是否已启用或不检查CCC;如果CFG_HDL中的值具有PRF_CLI_START_NTF值,则设备将继续发送通知。所以我想错误是在那里的某个地方。ble_app_peripheral还使用通知来更新ADC值,因此您可以查看该示例。

谢谢mt_dialog.