我们的项目使用客户自行开发的移动应用进行蓝牙连接。 链路层连接完成后、移动应用程序将立即通过蓝牙发送写入属性消息。
如果在移动应用程序中经常打开和关闭蓝牙连接、则通过 Ellisys 分析器、我们发现、即使之前的链接未断开、下一个消息交互也已经开始发送(通常、我们首先接收 LL_CHANNEL_MAP_IND 消息、 后跟 ATT 包、 而不是从 CONNECT_IND 开始)。 然而,在这种情况下,有些型号的手机会经常遇到大多数情况都不会出现的问题。 此问题情形是、在 WriteAttrCB 中的连接完成后、我们无法接收移动应用程序立即发送的写入属性消息、但在建立下一个链接连接后、只能在 WriteAttrCB 中响应此消息。 经过一段未知的时间后、它恢复正常。
此问题的原因是否是 connHandle 值异常或某种消息缓存? 我们使用 simplelink_cc2640r2usdk_4_20:00:08 \ examples \ rtos \ CC2640R2-LAUNCHXL \ blestack \ simple_peripheral 来构建工程。 此 SDK 版本是否有类似问题? 我应该如何解决该问题? 任何建议都会很有帮助。