图一
BLE想要让客户端(也就是central device)搜寻到需要先发送广播帧。图一为BLE广播帧结构。
前导帧不是01010101就是上数取反。 广播接入地址固定为0x8E89BED6,字节低位在前。报头和长度后面详细说,这边不叙述。
我们主要看下数据部分,如下图二
图二
len |
type |
data |
数据包含N个AD Structure,每个AD Structure开始为一个长度字节表示AD Structure的数据长度。
Type中 type =0x01
bit 0 |
LE 有限发现模式 |
bit 1 |
LE 普通发现模式 |
bit 2 |
不支持 BR/EDR |
bit 3 |
对 Same Device Capable(Controller) 同时支持 BLE 和 BR/EDR |
bit 4 |
对 Same Device Capable(Host) 同时支持 BLE 和 BR/EDR |
bit 5..7 |
预留 |
其他的type定义一起放到后面再详细介绍。
所以可以看到图二的RSL10的广播报文为:LE 普通发现模式,不支持 BR/EDR。蓝牙名为ON EE lhj 。 蓝牙厂家为0x0362.
下面介绍下RSL10中的代码:
BDK_BLE_Initialize();//蓝牙初始化
进入函数
BDK_BLE_SetLocalName(BDK_BLE_DEFAULT_LOCAL_NAME); //蓝牙命名