配置BLE中央设备工作在特定的扫描和连接信道 – KBA218992 (ZH)

Version 2

    Version: **

     

    问题:

    如何配置BLE中央设备工作在特定的扫描和连接信道上?

    答案:
    有两个API可以配置数据信道图:CyBle_GapGetChannelMap() CyBle_GapcSetHostChannelClassification(),但是没有配置扫描信道图的API。扫描信道图可以通过直接写寄存器BLE_BLELL_SCAN_CONFIG来配置,通过改变这个寄存器的第13,1415位来设置扫描信道图。

     

    Table 1. BLE_BLELL_SCAN_CONFIG 寄存器映射说明

    名称

    说明

    15:13

    SCAN_CHANNEL_MAP

    扫描操作的广播信道.

    15: 设置为1 – 使能第39信道.  

    14: 设置为1 – 使能第38信道.  

    13: 设置为1 – 使能第37信道.

    默认值: 7 (都设置为 ‘1’)

     

    可以参考CYBL10X6X Family: Programmable Radio-on-Chip With BLE (PRoC® BLE) Registers Technical Reference Manual (TRM) (Page 167)获取更多关于寄存器BLE_BLELL_SCAN_CONFIG的信息。

    应用举例:

    CYBLE_EVT_STACK_ON事件中,在API CyBle_GapcStartScan()之前添加下面的代码以使用第37个扫描信道:

        #define CYREG_BLE_BLELL_SCAN_CONFIG_USER (*(uint32*) BLE_BLELL_SCAN_CONFIG)

      CYREG_BLE_BLELL_SCAN_CONFIG_USER=BLE_BLELL_SCAN_CONFIG_USER & 0xFFFF2FFF;