利用控制器与对端设备通信之前,主机可以先对控制器进行下列相关操作:

①重置控制器的状态

②读取设备地址

③设置事件掩码

④读取流控缓存

⑤读取控制器支持的功能列表

⑥生成随机数

⑦加密数据

⑧设置随机地址

⑨配置白名单

1.重置控制器的状态

主机通过发送Reset命令来重置控制器。重置命令不会重置物理链路。

(HCI)主机/控制器接口之控制器的配置

2.读取设备地址

(HCI)主机/控制器接口之控制器的配置

3.设置事件掩码

设置事件掩码,就主机告诉控制器哪些事件能接收,哪些不能接收。控制器只会发那些能被接收的事件。

(HCI)主机/控制器接口之控制器的配置

4.读取缓冲区大小

(HCI)主机/控制器接口之控制器的配置

5.读取控制器支持的功能

确保主机和控制器兼容的一个方法:主机向控制器发送命令之前首先确认控制器支持的功能。

(HCI)主机/控制器接口之控制器的配置

6.读取控制器支持的状态

主机必须知道控制器支持哪些状态及组合,以免因设置了无效的状态而导致错误。

(HCI)主机/控制器接口之控制器的配置

(HCI)主机/控制器接口之控制器的配置

7.随机数

控制器可以方便地生成随机数。

(HCI)主机/控制器接口之控制器的配置

8.加密数据

主机可以使用低功耗蓝牙的AES-128加密引擎来加密数据。

(HCI)主机/控制器接口之控制器的配置

9.设置随机地址

(HCI)主机/控制器接口之控制器的配置

10.白名单

控制器里面存储着一个设备地址列表,称为白名单。白名单容量有限。

主机可以通过命令对白名单进行添加、删除以及重置等操作。

控制器可以根据白名单来过滤广播数据包。

(HCI)主机/控制器接口之控制器的配置


相关文章: