您好!
有时、我会进入移动设备(iOS 或 Android)无法发现我的特征的状态。 一旦处于此状态、除非 TI CC2650复位、否则任何移动设备都无法持续发现特征。 重置 TI 可解决此问题、器件能够再次发现我的特征。
我想了解这种状态下正在发生的情况以及从 CC2650的角度来看、这种情况是如何实现的。
我在此应用中使用2.2.1 TI 堆栈、最大 PDU 大小为255、MAX_NUM_PDU 大小为5。 使用 BLE 监听器、我发现当移动应用尝试发现服务时、我收到"资源不足"响应。
根据此主题中给出的建议 :https://e2e.ti.com/support/wirelessconnectivity/bluetooth/f/538/t/794010tisearch=e2equicksearch&keymatch=services%20cannot%20be%20discovered#pi320995filter=all&pi320995scroll=false,我将 MAX_NUM_PDU 减少为1,并使用 iCall_getHeapMgranityCheck()来查看我是否正在内存不足。
此新配置中的 BLE 监听器输出为我提供了"未找到属性"响应:
在达到此状态前后、在主应用程序函数中定期调用 iCall_getHeapMgranityCheck()、并指示 OSAL 堆在整个时间内"有效"。
非常感谢您提出任何建议或执行调试步骤。