弄清楚这个问题之前我们需要先了解一下蓝牙地址的类型,在蓝牙规格书上对于地址类型有较详细的说明(参看:Core v5.0-> Vol 6-> Part B ->1.3) 简单归类如下:
手机App 用nRF Connect 显示的地址是static Device Address 类型,如下图所示地址最高字节为FF
进一步验证地址是否正确,我们通过API函数sd_ble_gap_addr_get读取MAC address并打印出来, 代码如下:
对应的log信息中打印出的地址如下:
我们发现地址和APP上显示地址相同,最高字节都是FF 。
接下来我们用nrfjprog --memrd命令读出FICR中的DEVICEADDR,显示如下,如绿框所标示按6 Bytes MAC来看,最高地址是BF