本帖最后由 David~ 于 2015-3-17 18:00 编辑
各位朋友好!
我在做项目时,用的是TIcc2540和BLE协议栈,涉及到低功耗处理,项目的设想是:建立连接后,发送数据,然后再断开连接,进入低功耗模式,按键触发后唤醒然后再建立连接、发送数据、再断开连接,如此的往复处理。这些操作都是主机上面实现的。
现在发现个问题,如果按键触发唤醒的频率低,一秒按一下按键的情况下,主机处理完断开连接的命令后,从机能够马上接收到断开连接事件然后进行下一步的操作;
如果按键触发唤醒的频率高,一秒钟迅速按下按键好几次的情况下,主机处理完断开连接的命令后,主机这里收不到底层已经断开连接的事件GAP_LINK_TERMINATED_EVENT,从机也收不到断开连接的事件GAP_LINK_TERMINATED_EVENT,必须等待3到5秒等待从机timeout之后从机才会断开连接,进入发送广播的状态,然后主从机才能再次建立连接进行通信。
调试了很久 ,都不能解决这个问题,烦请各位朋友大神能帮忙分析下哪里出了问题,万分感谢!
|