Ping
1. 1.6.10及以后的SDK版本,Static MAC地址的组合逻辑进行了调整,目的是使高字节固定,低字节随机,这样在显示不同芯片的地址时更符合用户习惯。
PS:左边为旧方案,右边为新方案
2. 蓝牙静态地址要求为最高两bit为“11”,所以MAC新规则指定addr.addr[5] = chip_uuid[15] | 0xc0,代表addr.addr[5]对应MAC地址的左边第一个,
即手机扫描时一般显示在左边第一个,关于蓝牙MAC地址详细说明,可参考GR551X BLE MAC地址规则说明。
3. 以上修改方案会带来如下影响
如果项目基于1.6.10之前的SDK开发的固件,通过OTA升级新SDK的固件,设备的MAC地址发生了变化,导致无法自动配对连接,需要手动重新连接 ,预计在下一个SDK版本增加兼容旧方案的MAC地址规则,在这之前如果有需求可以联系我司代理FAE或者留下邮件提供Patch。
Ping
1.7.0已经增加了如下接口兼容旧的MAC地址,在ble_stack_init之前调用。
/**
*****************************************************************************************
* @brief Reverse the policy for static address created by chip uuid .
* @note After sdk_v1.6.10, this policy has been updated.
*
*****************************************************************************************
*/
void sys_ble_static_addr_policy_reverse(void);
打开微信,使用“扫一扫”即可关注