从蓝牙地址读取3个字节?

从蓝牙地址读取3个字节?

问题描述:

LAP从蓝牙地址读取3个字节?

低位地址部分(3字节)。这部分蓝牙地址由设备供应商分配。 LAP值在每个传输帧中唯一标识一个蓝牙设备作为访问码的一部分。

但我们只有8,16,32和64作为无符号整数。有没有一个库或方法来读取3个字节?

您可以使用结构来获取所需的数据。这是Windows Embedded使用的BD_ADDR结构。

#pragma pack(push, 1) 
    typedef struct __bd_addr { 
     union { 
     struct { 
      unsigned int LAP : 24; 
      unsigned int UAP : 8; 
     }; 
     unsigned int SAP; 
    }; 
     unsigned short NAP; 
    } BD_ADDR; 
#pragma pack(pop) 

然后,您可以作为结构的成员访问LAP。 BD_ADDR.LAP