[ English | 简体中文 ]
蓝牙 BLE 广播 API
openvela 蓝牙 BLE 广播接口,用于发送 BLE 广播数据和管理广播实例。
头文件:#include "bt_le_advertiser.h"
openvela 实现说明
- 广播类型:支持可连接广播、不可连接广播、扫描响应等
- 广播数据:支持自定义广播数据和扫描响应数据
- 多实例:支持同时运行多个广播实例
同步接口
bt_le_stop_advertising
void bt_le_stop_advertising(bt_instance_t* ins, bt_advertiser_t* adver);
停止 BLE 广播。
参数:
ins蓝牙客户端实例。adver广播器实例。
返回值:
bt_le_stop_advertising_id
void bt_le_stop_advertising_id(bt_instance_t* ins, uint8_t adv_id);
停止指定 ID 的 BLE 广播实例。
参数:
ins蓝牙客户端实例。adv_id广播实例 ID。
bt_le_advertising_is_supported
bool bt_le_advertising_is_supported(bt_instance_t* ins);
广播数据查询supported。
参数:
ins蓝牙客户端实例。
返回值:
bt_le_advertising_is_supported 操作。
异步接口
bt_le_start_advertising_async
bt_status_t bt_le_start_advertising_async(bt_instance_t* ins, ble_adv_params_t* params, uint8_t* adv_data, uint16_t adv_len, uint8_t* scan_rsp_data, uint16_t scan_rsp_len, advertiser_callback_t* adv_cbs, bt_le_start_adv_callback_cb_t cb, void* userdata);
开始 BLE 广播(异步版本)。
参数:
ins蓝牙客户端实例。params参数结构体。adv_data广播数据。adv_len广播数据长度。scan_rsp_data扫描响应数据。scan_rsp_len扫描响应数据长度。adv_cbs广播回调函数集合。cb回调函数。userdata用户数据。
bt_le_stop_advertising_async
bt_status_t bt_le_stop_advertising_async(bt_instance_t* ins, bt_advertiser_t* adver, bt_status_cb_t cb, void* userdata);
参数:
ins蓝牙客户端实例。adver广播器实例。cb回调函数。userdata用户数据。
bt_le_stop_advertising_id_async
bt_status_t bt_le_stop_advertising_id_async(bt_instance_t* ins, uint8_t adv_id, bt_status_cb_t cb, void* userdata);
停止BLE 广播(指定 ID)(异步版本)。
参数:
ins蓝牙客户端实例。adv_id广播实例 ID。cb回调函数。userdata用户数据。
bt_le_advertising_is_supported_async
bt_status_t bt_le_advertising_is_supported_async(bt_instance_t* ins, bt_bool_cb_t cb, void* userdata);
查询是否支持 BLE 广播(异步版本)。
参数:
ins蓝牙客户端实例。cb回调函数。userdata用户数据。