This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2642R-Q1: CC2642

Part Number: CC2642R-Q1
Other Parts Discussed in Thread: SYSCONFIG

背景:

用设备A进行广播,用设备B作为中心扫描,将A的信息添加到设备B扫描的白名单中,设备B扫描到设备A后会建立蓝牙连接,在连接状态中,设备A会进行定位广播,这个时候设备B会在连接的状态进行扫描,扫描到设备A的广播信号RSSI

目前:

我现在将设备A和设备B进行蓝牙连接后,再开启设备B的扫描功能,不能扫到设备A的定位广播信息,需要修改哪些配置呢?

  • 您好,

    能再解释一下

    在连接中,B可以扫到A的RSSI

    连接后,B扫不到A的定位广播信息

    这是时序先后发生的吗

  • 连接前B会扫描到A的广播并建立连接,连接后A会开启低功耗的定位广播,让B保持与A的蓝牙连接的情况下还能够通过扫描的方式获取A广播的RSSI值

  • 可以理解为,我想设备在处于连接状态的时候仍能进行扫描,扫描已连接设备的广播

  • 明白您的问题,需要一些时间,谢谢

  • 您需要,确保设备AB成功建立蓝牙连接

    然后在设备B上启动扫描,设置正确扫描参数

    通常用主动扫描类型,设置合适的扫描窗口和间隔

    1. simplelink_academy_lab介绍如何处理扫描响应和广播数据 

    2. 利用 SysConfig (对于Bluetooth LE广播设备)了解 advData 和 scanResData 的组织方式 

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    uint8_t advData1[] =
    {
    0x03,
    GAP_ADTYPE_LOCAL_NAME_SHORT,
    'S',
    'P',
    0x02,
    GAP_ADTYPE_FLAGS,
    GAP_ADTYPE_FLAGS_BREDR_NOT_SUPPORTED | GAP_ADTYPE_FLAGS_GENERAL,
    0x03,
    GAP_ADTYPE_16BIT_MORE,
    LO_UINT16(0xfff0),
    HI_UINT16(0xfff0),
    };
    uint8_t scanResData1[] =
    {
    0x12,
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

x 出现错误。请重试或与管理员联系。