最近在移植QQ物联协议,需要读取设备mac地址。
读取CC2541设备MAC地址的方法,有直接读取mac寄存器,也可以调用协议栈API。这里采用的是调用API的形式。
1 /*利用协议栈API读取MAC地址*/ 2 static uint8 macaddr[B_ADDR_LEN]={0}; // mac 地址 3 uint8_t macstr[13] = {0}; 4 5 GAPRole_GetParameter(GAPROLE_BD_ADDR, macaddr); 6 sprintf((char*)macstr, "%02X%02X%02X%02X%02X%02X", macaddr[0], macaddr[1], macaddr[2], 7 macaddr[3], macaddr[4], macaddr[5]); 8 memcpy(zone, macstr, 12);
核心内容是API: GAPRole_GetParameter
这个API可以参考CC2541 Software developer‘s guide的第102页,大家可以自己在IAR里面找到这个function的定义,GAPROLE_BD_ADDR则是一个表示蓝牙设备mac地址的type。