我的 CC2540器件可与 Android 应用正常配合使用、但出于某些原因、iPhone 应用不想与之配合使用。 应用程序可以连接到它、但在尝试发现服务时会断开连接。 通过监听蓝牙传输、CC2540器件似乎会终止与 LL_TERMINATE_IND 错误代码0x13的连接。 有人对此有任何想法吗? 谢谢。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
JXS、
我希望您有一个美好的假期!
感谢您的推荐。 CC2540终止连接的原因是0x16 (本地主机终止连接)。 ATT_READ_BY_Group_Type_Req 的起始句柄似乎不正确。 如果您更喜欢我之前发布的屏幕截图、则在它断开连接之前、iOS 应用程序会请求 一个以句柄0x0015开始的 ATT_READ_BY_GROK_Type_Req。 这是之前 RSP 的第一个句柄、BLE 规范对此进行了错误处理。 它应该是最后一个句柄0xFFC0。
我尝试使用 LightBlue 应用进行连接、但问题相同。 iOS 应用似乎希望 CC2540响应一次只需1个句柄。 这是我们可以在固件中更改的吗? 谢谢。
我从 Robin Heydon 的《低功耗蓝牙:开发人员指南》第10.7.2.1节中得到了这一点、"除非最后一个服务的最后一个句柄是0xFFFF 或 收到错误响应、 客户端发送另一个"按组类型读取"请求、并 将起始句柄更新为比 上一个响应中最后一个服务的最后一个句柄大一个。 这样、客户端就可以枚举设备上的所有服务。 "
我基于 BLE 照明开发套件(www.digikey.com/.../5332485)构建了我的项目。 BLE 光开发套件也存在此问题。 我还没有尝试过 SimpleBLEPeripheral、但我会尝试一下。 谢谢。