主题中讨论的其他器件:CC2642R、 CC2540
大家好!
我使用的是 cc2642r 控制器、我在其中烧录了 simple_central 示例代码、并尝试连接到其他 ble 模块(HC-42)。 HC-42 (外围设备)具有具有通知属性的 UUID、当我们向该特征写入0x01时、该 设备启用通知功能、每当某些值发生变化时、该设备应通知中央设备(cc2642r)。 我们已 在 SimpleCentral_processGATTMsg ()中添加了一个 GATT 事件以用于通知,因此每当该特性值发生变化时,它都会通知我们。 我们使用 ATT_Handle_Value_Noti 方法来接收通知或更改值。
基本来说、运行很简单、 当我们按下器件(cc2642r)上的按钮时、器件会发送一条 gattwrite 命令、该命令在特性(即"Client Characteristics Configuration")上写入0x01、从而启用该特性的通知功能。之后、只要 HC-42模块中的值发生变化、它就必须通知我们的中央设备、即通知它。
所以,我的问题是:-
1)有时通知功能在调试时起作用,但有时不起作用。 这不可靠。 原因是什么? 有什么想法吗? 在调试期间、 当通过 Hercules 软件在 HC-42模块中进行一些值更改时、它会命中 ATT_Handle_Value_Noti 方法、但有时我们会重试、但它不会命中 ATT_Handle_Value_Noti。
2)我已附上代码的屏幕截图、请参考。 ATT_Handle_Value_Noti 方法未被接收的所有可能原因是什么?
3)控制器- cc2642r , SDK - 7.10.24 , CCS 版本- 12

