嗨对话框,
我正在使用移动应用程序,BLE扫描仪和使用RTT测试BMS项目代码,以监视代码运行。通过绑定程序后,我想通过按下移动应用程序的断开断开与绑定设备的通信,但发现代码没有达到“案例BLE_EVT_GAP_DISCONCONCONED:”。但是,如果我关闭手机的蓝牙,需要大约30秒,代码将达到“案例BLE_EVT_GAP_DISCONCONCHED:”,然后最终断开通信。
Q1:是否有可能响应移动应用程序的断开,直到关闭移动电话的蓝牙?
Q2:30S计时器是什么让代码到达“案例BLE_EVT_GAP_DISCONCONCED:”?它似乎不是监督计时器,conn_params-> sup_timeout?因为ble_supervision_tmo_to_ms(conn_params-> sup_timeout)= 20000,而不是30000。
Q3计时器的目的是什么,“conn_pause_pausipheral”,在bms项目代码的handle_evt_gap_connected()中?
谢谢你的帮助。
设备:
嗨nigelyang,
关于您的第一个问题,这取决于移动电话应用程序的用户界面。预期需要大约需要30秒,因为您关闭了移动电话的蓝牙,之后代码到达BLE_EVT_GAP_DISCONCONCETICTED。请注意,主服务器只发送一次断开或终止消息,如果从设备没有收到它,则不会再次发送。监控超时是30秒,它根据蓝牙规范。请检查handle_evt_gap_connected()函数,您将看到在5000滴答之后,将触发conn_pause_timer_cb()。此功能用于更新连接参数。
谢谢,PM_DIALOG.
嗨对话框,
第一个问题后,有没有办法让DA14681(绑定)知道从手机应用程序的断开连接?因为代码不会到达ble_evt_gap_disconnecty。如果用户关闭移动电话应用程序,则SDK中没有任何响应机制?在中央和外围侧,我需要了解任何通信的点,然后关闭电源以节省电池电量。
感谢您的帮助
嗨nigelyang,
您的问题与移动应用程序的实现而不是SDK机制有关。正如我在我的前一篇文章中提到的那样,移动应用程序只会发送一旦断开连接或终止消息,并且如果外设不会收到它,则不会再次发送。请尝试使用嗅探器才能确保移动应用程序发送断开/终止消息?雷竞技安卓下载
谢谢,PM_DIALOG.