微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 如何读取CC2530的MAC地址?在flash中存储的是不是倒序?

如何读取CC2530的MAC地址?在flash中存储的是不是倒序?

时间:10-02 整理:3721RD 点击:

先说问题,我需要读取当前芯片中的MAC地址。

我尝试了一下方法:

方法1:

-----------------------------------------

#define P_INFOPAGE  PXREG( 0x7800 )

#define HAL_INFOP_IEEE_OSET        0xC

uint8 devmacaddr[8];
uint8 *macaddrptr = (uint8 *)(P_INFOPAGE+HAL_INFOP_IEEE_OSET);

for(int i=0;i<8;i++)
{
devmacaddr[i] = macaddrptr[i];
}

HalUARTWrite(0, devmacaddr, 8);

-----------------------------------------

输出结果: 50 AE 0F 04 00 4B 12 00

方法2:

-----------------------------------------

#define PAGE_OF_MAC_ADDR    0x7A

#define OSET_OF_MAC_ADDR    32

#define LEN_OF_MAC_ADDR     8

HalFlashInit();
HalFlashRead(0x7a,32,devmacaddr,8);

HalUARTWrite(0, devmacaddr, 8);

-----------------------------------------

输出结果: 50 AE 0F 04 00 4B 12 00

方法3:使用TI的SmartRF Flash Programmer中的Read IEEE功能,读出来的结果是:

00 12 4B 00 04 0F AE 50

点开View Info Page,找到的内容却是50 AE 0F 04 00 4B 12 00。

我在论坛中有看到其他的网友的MAC地址开头也是00 12 4B 00,所以我猜测第三种方法读出来的才是真正的IEEE,所以想问一下MAC地址应该怎么读?flash中存储的为什么与SmartRF Flash Programmer读出来的相反?

I think it just do little endian to big endian convert when display.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top