微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > zstack 怎么修改Ieee 地址

zstack 怎么修改Ieee 地址

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

   各位看官你好:

      通过修改 zb_WriteConfiguration(ZCD_NV_EXTADDR,Z_EXTADDR_LEN,newExtAddr); 可以改变IEEE地址,但是不能再Programmer中读出来,而且在重新烧写程序后,mac地址又恢复了,怎样修改mac地址永久保存呢?通过程序修改Secondary 的IEEE地址呢?

     坐等回复,谢谢!

试下开启 nv init(先把nv restore关闭)

 zb_WriteConfiguration(ZCD_NV_EXTADDR,Z_EXTADDR_LEN,newExtAddr); 是把IEEE地址写到了Flash NV区域中,而不是把IEEE地址写到Flash Secondary IEEE地址区中,你用Programmer新的程序的时候,因为生成的Hex文件,存放Secondary 的IEEE的地址上数据又被重新擦除掉了,所以每次重新写程序以后,自己写的地址又不在了。

所以你有几种方法可以做

1) 每次在程序启动的时候,在下面的地址和offset下面写入数据,这个地址就是存放Secondary IEEE地址的

HAL_FLASH_IEEE_PAGE, HAL_FLASH_IEEE_OSET

2)利用Flash Programmer烧写好程序以后,利用Flash Programmer写Secondary IEEE地址

3)直接修改hex文件,把hex文件打开,然后在HAL_FLASH_IEEE_PAGE, HAL_FLASH_IEEE_OSET对应的地方,把8个字节的IEEE地址写上去,也可以。

建议你理解下,协议栈程序里面zmain_ext_addr(void)函数的处理逻辑。

你好: 请问怎么使用程序去修改mac地址,我想用协调器写一个配置mac地址的程序,通过zigbee网络给很多协调器分配自定义的有规律,自定义的mac地址 然后永久保存

自己通过HalFlashWrite函数去写就可以了,写的位置是

HAL_FLASH_IEEE_PAGE,

HAL_FLASH_IEEE_OSET

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

网站地图

Top