我可以使用BLE连接到外围设备,但在阅读了一些特性后不久,框架返回:
CoreBluetooth [警告]未知错误:14
并且外围设备已断开连接。
查看BT Core_V4.0规范,我不确定错误的含义。 14是十六进制值吗?是否意味着根据规范出现以下错误:( D部分第2节 - 错误代码)
2.20远程设备因低资源而终止连接(0X14) 由于资源不足而导致的远程设备终止连接错误代码表示远程设备因资源不足而终止连接。
我尝试更换电池,但没有产生不同的效果。
另外,我不知道如何捕获这些CB错误,我只看到它们被记录,但是当设备断开连接时,它不会提供错误(它为空)。
我不直接控制外围设备的源代码,但可以要求修复错误。所以任何提示都值得赞赏。
谢谢,
答案 0 :(得分:6)
你不能拦截这些CB错误,它们只是来自下层BLE的痕迹。
例如,错误13是当写入数据的长度不是GATT数据库中指定的时间。 错误14表示连接被另一侧(外围设备)关闭。我已经好几次见过这个了。有时我读数据的速度太快(在上一次回答之前你不允许请求下一次访问,每个连接只有1个“资源”。也许这也是你看到的?
一如既往,最好安装带有嗅探器的TI BTLE USB Dongle,然后在BLE模式下使用带有加密狗的TI RF嗅探器工具。您可以从这些跟踪中获得大量可以调试的信息。比如查看是否有多个读取或写入请求没有响应。