BLE的广播的内容格式普通广播
- 广播包 (Advertising Data)
- 响应包 (Scan Response),需要扫描设备,发起scan_request 才会被回应.
- 传统广播模式无论广播包,还是扫描响应包都是31 Byte 最长
扩展广播(>=蓝牙5.0)
CH57* 系列的芯片都是BLE 4.2 的,这意味着不能实现5.0以后引入的扩展广播包,当然这跟本帖问题关系不太大.
像很多ble soc 一样,wch的蓝牙协议栈,主机扫描时候,为保持灵活性, 协议栈向应用层送的只是原始的广播数据, 同时广播包和扫描响应包 也是分开的.
在扫描时候,通过GAP_DEVICE_INFO_EVENT 事件,在下面结构体里面的eventype指示该包的类型
eventType的有下面类型:
其中紫色框即意味着,当前的包为 扫描回复包,其他的都是广播包
上面,还有个前提,即: 主动扫描
下面函数的第二个参数,必须为true ,才有可能拿到 扫描回复包.
GAPRole_CentralStartDiscovery( DEFAULT_DISCOVERY_MODE, DEFAULT_DISCOVERY_ACTIVE_SCAN, DEFAULT_DISCOVERY_WHITE_LIST );
BLE的广播的内容格式普通广播
- 广播包 (Advertising Data)
- 响应包 (Scan Response),需要扫描设备,发起scan_request 才会被回应.
- 传统广播模式无论广播包,还是扫描响应包都是31 Byte 最长
扩展广播(>=蓝牙5.0)
CH57* 系列的芯片都是BLE 4.2 的,这意味着不能实现5.0以后引入的扩展广播包,当然这跟本帖问题关系不太大.
像很多ble soc 一样,wch的蓝牙协议栈,主机扫描时候,为保持灵活性, 协议栈向应用层送的只是原始的广播数据, 同时广播包和扫描响应包 也是分开的.
在扫描时候,通过GAP_DEVICE_INFO_EVENT 事件,在下面结构体里面的eventype指示该包的类型
eventType的有下面类型:
其中紫色框即意味着,当前的包为 扫描回复包,其他的都是广播包
上面,还有个前提,即: 主动扫描
下面函数的第二个参数,必须为true ,才有可能拿到 扫描回复包.
GAPRole_CentralStartDiscovery( DEFAULT_DISCOVERY_MODE, DEFAULT_DISCOVERY_ACTIVE_SCAN, DEFAULT_DISCOVERY_WHITE_LIST );
举报