Code=6 "The connection has timed out unexpectedly

在做蓝牙通讯时的压力测试的时候,发现蓝牙连接之后会迅速断开,并且控制台会报错

Error Domain=CBErrorDomain Code=6 "The connection has timed out unexpectedly." UserInfo=0x1e09c050 {NSLocalizedDescription=The connection has timed out unexpectedly.}

用ligthblue也是一样的情况,在网上搜了很多也没有完全匹配的问题.

不过偶然一次看到苹果硬件参数文档
最好把这个给硬件工程师看,他们的代码里有 max interval 和min interval 的设置,他们修改后重新给你烧个固件就可以了, 另外如果设备间通信过于频繁,也做一些容错处理。

然而这些仍然没有解决我的问题.但是当我描述了我的所有操作步骤之后硬件工程老司机还是帮我解决了问题.

当我把蓝牙主设备发射出来信号之后,短时间内蓝牙处于待机状态一段时间,在这个时间段内我的手机是可以搜索到蓝牙并建立连接的.但是一旦过了这个时间段,蓝牙就会从待机状态关掉.除非我使用某个工具将蓝牙从待机状态复位到可通讯状态,这样蓝牙就不会主动关掉了.

这让我想起之前调试蓝牙手环的时候也出现过这种情况.不过当时由于条件限制并没有解决这个状态.

参考
iOS蓝牙设备自动断开连接

Suddenly I’m seeing spontaneous disconnects in my iOS 7 app from my nRF51822 peripheral

猜你喜欢

转载自blog.csdn.net/longlongvalue/article/details/80017078