请详细说明一下NRF5 SDK的函数whitelist_set
时间: 2024-04-29 14:23:56 浏览: 220
nRF5_SDK_16.0.0_98a08e2.zip
5星 · 资源好评率100%
NRF5 SDK中的whitelist_set函数用于设置蓝牙连接白名单,即只允许特定的设备连接到当前设备。该函数的详细说明如下:
语法:
```c
uint32_t whitelist_set(uint8_t const * const p_addr, uint8_t addr_count);
```
参数:
- p_addr:指向一个长度为6 * addr_count字节的数组,其中每个6字节表示一个设备的MAC地址。
- addr_count:白名单中允许连接的设备数量。
返回值:
- NRF_SUCCESS:操作成功。
- NRF_ERROR_INVALID_ADDR:无效的设备地址。
- NRF_ERROR_INVALID_PARAM:参数错误。
- NRF_ERROR_BUSY:操作正在进行中。
- NRF_ERROR_INTERNAL:内部错误。
说明:
- 该函数必须在蓝牙协议栈初始化之前调用。
- 如果白名单中没有任何设备,则任何设备都可以连接到当前设备。
- 如果白名单中有设备,则只有白名单中的设备才能连接到当前设备。
- 该函数只适用于主设备模式,不适用于从设备模式。
示例:
```c
uint8_t addr[] = {0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc};
whitelist_set(&addr, 1);
```
以上示例代码将设置一个蓝牙连接白名单,只允许MAC地址为0x12:0x34:0x56:0x78:0x9a:0xbc的设备连接到当前设备。
阅读全文