解决蓝牙MAC 地址倒序问题

蓝牙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;
    }
}

你可能感兴趣的:(解决蓝牙MAC 地址倒序问题)