CC2541与安卓APP连接并有数据通信,如果在APP端点断开连接或把手机拿很远使蓝牙断连,CC2541检测到蓝牙断连后会重新开启广播,APP又可以搜到。
但会有这种情况:没有任何外部因素的情况下,APP上显示断开连接,但CC2541蓝牙要过30秒到1分钟才能检测到断开,然后会去重新开启广播,但APP搜不到蓝牙设备,我下了一个lightbule也搜不到。不知道什么原因导致的断开,也不知道CC2451为什么没有广播信号。
Yan:
dfdf bebrom,
你的现象有点像安卓手机那边不明原因失去了和CC2541的连接,CC2541只能等待时间超时,才能认为连接断开,这段时间内是不会广播的,所以其他设备搜索不到。
这个需要空中抓包看看是不是这种现象,然后看看安卓那边有什么可以做的。
甜甜的大香瓜:
可以试着修改下面的参数,改成1或者2。
// Connection Pause Peripheral time value (in seconds) #define DEFAULT_CONN_PAUSE_PERIPHERAL 6 //有时当CC2541断开连接时,主机端过10S才会断开,此时将此数值改小可让主机快速发现断开连接
dfdf bebrom:
回复 Yan:
现在就是这种意外断连,CC2541检测到断连以后我调用开启广播函数但实际上广播不了
yi zhang23:
回复 dfdf bebrom:
找到原因了吗?据说HCI_EXT_OverlappedProcessingCmd(HCI_EXT_DISABLE_OVERLAPPED_PROCESSING);
能解决这个问题,但数据最大传输速率明显会下降。