ch583 主机两个按键(指令),按键1清除所有绑定信息,按键2开始扫描,进行从机信息匹配并绑定。
绑定后,如何确认绑定是否成功和绑定信息的查看?
绑定成功之后,ch583如何在上电不开启扫描(按键不动作)的情况下,快速匹配连接已经绑定的从机?
请问有没有类似的例程可以参考下,谢谢!
ch583 主机两个按键(指令),按键1清除所有绑定信息,按键2开始扫描,进行从机信息匹配并绑定。
绑定后,如何确认绑定是否成功和绑定信息的查看?
绑定成功之后,ch583如何在上电不开启扫描(按键不动作)的情况下,快速匹配连接已经绑定的从机?
请问有没有类似的例程可以参考下,谢谢!
清除所有绑定信息可以参考:
BLE配对与绑定三(杂项) - SweetTea_lllpc - 博客园 (cnblogs.com)
进行匹配和绑定可以参考该博客:
BLE配对与绑定二(连接) - SweetTea_lllpc - 博客园 (cnblogs.com)
需要快速连接,一般将从机的广播间隔配置小即可,主机的扫描数量稍微给大一些。理论效果可以实现两个广播间隔就成功建立连接。如果不进行扫描,也可以直接发起连接,通过GAPRole_CentralEstablishLink直接发起。
通过以上教程,绑定确认以及绑定删除测试没有问题。上电后使用按键触发(tmos_set_event(centralTaskId, START_DEVICE_EVT);)扫描绑定流程也没有问题。
但是绑定后读取绑定地址通过GAPRole_CentralEstablishLink进行连接时,后续就没有响应输出了,应该是调用时序的问题,没有触发调度机制,不知问题出在哪里。
你好,可以检查一下建立连接填入的MAC地址大小端,并且可以先不使用绑定的功能,直接从机在广播,然后主机直接填写对应的MAC进行连接,查看是否可以连接成功。
MAC大小端没有问题。试过了,必须要tmos_set_event(centralTaskId, START_DEVICE_EVT)才能使能ble的状态机,否则CB函数不能调用。然后根据启动判断有无绑定信息来使能主机扫描与否,再进行GAPRole_CentralEstablishLink。
现在出现的问题是如果主从已经连接,主机主动发起GAPRole_TerminateLink,从机很快切换到广播状态进行重连。
如果主从已经连接,主机重新上电,从机要大于几秒才能进入广播状态进行重连,如何缩短这个状态从机切换广播状态的时间呢?
你好,可以将这里的超时时间配置为默认的,即1s的超时:
需要注意:主从机断开后,从机需要在广播的状态(即打印advertising处),主机才可以进行发起连接。可以旁边挂一个手机同步搜索判断从机已经广播。