蓝牙mac地址的显示目前是从nv447里面去读的,原生的逻辑是我们写到nv后,nv里面的逻辑会生成一个倒序的mac地址。这不是系统的BUG.蓝牙地址的显示是遵循Bluetooth的规范.所以写nv后我们上层读出来显示的时倒序的。
解决方案:
我们从nv读出来后进行mac地址倒序的操作,这个倒序的操作也是原生的方法。最终上层读出来和写nv的一致。
在代码逻辑后 将地址倒序
倒叙的方法 le2bd(local_addr);在最后 if (valid_bda)调用
原生逻辑中有倒序的方法
void BluetoothAddress::le2bd(uint8_t localAddr[6])
{
int i;
uint8_t temp;
for (i = 0; i < 3; i++) {
temp = localAddr[i];
localAddr[i] = localAddr[5-i];
localAddr[5-i] = temp;
}
}