Zephyr BLE 自动重连
Zephyr 里的 BLE 协议栈支持自动重连功能,自动重连的设备其地址都存储在了白名单中。
主要接口如下:
int bt_le_whitelist_add(const bt_addr_le_t *addr);
int bt_le_whitelist_rem(const bt_addr_le_t *addr);
int bt_le_whitelist_clear(void);
int bt_conn_le_create_auto(const struct bt_conn_le_create_param *create_param,
const struct bt_le_conn_param *conn_param);
首先需要将需要自动重连的设备地址添加到白名单内,然后使用 bt_conn_le_create_auto()
函数开启自动重连功能,直到一个连接已经建立。因此为了不断循环地自动重连设备,最好在每一次连接上设备之后都开启该功能。