工具与软件:
您好!
我们公司正在围绕 CC1352R 微控制器开发产品、为此、我们目前正在使用集成到我们应用中的 SDK 版本"simplelink_cc13xx_cc26xx_sdk_6_20_00_29"。 我们面临的问题是、有时在我们在 Android 或 Apple 手机(作为中央设备)和我们的产品(作为外设)之间进行 BLE 交换期间、我们会观察到 CC1352R 对特定特性的传入写入命令做出反应时似乎完全失败。 这导致中央器件在接下来的5s、每50ms 在循环中重新发送相同的请求、因此总共发送100次。 负责开发手机上运行的应用的团队说、写入是根据应用程序代码触发一次的、因此、手机上的 BLE 堆栈实际上可能是我们看到的行为的罪魁祸首。
问题是、我们不知道如何进一步调查此问题。 一方面、我们看到中央设备经常尝试重新发送相同的数据包、但另一方面、外设在这些尝试的整个持续时间内似乎完全冻结、因为空 PDU 交换在此期间也会停止。 在100次尝试完成后、链路被终止(器件自动断开连接)并且从外设的正常广播恢复。
在下一个屏幕截图中、您可以在左侧看到这个问题、在右侧的 Wireshark 迹线上看到写入请求成功时的正常行为:
您能帮助我们了解问题可能出在哪里吗、或者如何继续对此进行调查吗?
我们可以在 BLE 堆栈本身的级别激活任何跟踪吗?
非常感谢!