Part Number:CC2642R-Q1Other Parts Discussed in Thread:SYSCONFIG
背景:
用设备A进行广播,用设备B作为中心扫描,将A的信息添加到设备B扫描的白名单中,设备B扫描到设备A后会建立蓝牙连接,在连接状态中,设备A会进行定位广播,这个时候设备B会在连接的状态进行扫描,扫描到设备A的广播信号RSSI
目前:
我现在将设备A和设备B进行蓝牙连接后,再开启设备B的扫描功能,不能扫到设备A的定位广播信息,需要修改哪些配置呢?
Galaxy Yue:
您好,
能再解释一下
在连接中,B可以扫到A的RSSI
连接后,B扫不到A的定位广播信息
这是时序先后发生的吗
,
mailier:
连接前B会扫描到A的广播并建立连接,连接后A会开启低功耗的定位广播,让B保持与A的蓝牙连接的情况下还能够通过扫描的方式获取A广播的RSSI值
,
mailier:
可以理解为,我想设备在处于连接状态的时候仍能进行扫描,扫描已连接设备的广播
,
Galaxy Yue:
明白您的问题,需要一些时间,谢谢
,
Galaxy Yue:
您需要,确保设备AB成功建立蓝牙连接
然后在设备B上启动扫描,设置正确扫描参数
通常用主动扫描类型,设置合适的扫描窗口和间隔
1. simplelink_academy_lab:介绍如何处理扫描响应和广播数据
2. 利用 SysConfig (对于Bluetooth LE广播设备)了解 advData 和 scanResData 的组织方式
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,GAP_ADTYPE_LOCAL_NAME_COMPLETE,'S','i','m','p','l','e',' ','P','e','r','i','p','h','e','r','a','l',0x02,GAP_ADTYPE_POWER_LEVEL,0,0x05,GAP_ADTYPE_SLAVE_CONN_INTERVAL_RANGE,LO_UINT16(80),HI_UINT16(80),LO_UINT16(104),HI_UINT16(104),};