微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 请问协调器如何获取终端的IEEE地址?

请问协调器如何获取终端的IEEE地址?

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

终端入网后,协调器要向网关上报加入的终端的信息,此时需要获得终端的IEEE地址。网上查了不少资料,大概意思是终端入网过程中发自身数据给协调器时,含有自身的IEEE地址,协调器会把终端的信息存储在“设备表”中,但怎么从设备表中读取对应短地址终端的IEEE地址数据呢?ZDO_ParseAddrReq()函数返回值好像只是信息标识符,应用层调用ZDO_ParseAddrRsp()对数据包解析也不清楚怎么使用,请指教哈

1  您可以利用NLME.h里面定义的专门API来让终端设备获取自身的IEEE地址再发送给协调器

获取设备自身IEEE地址

extern byte *NLME_GetExtAddr( void );

2 您也可以利用OnBoard.c里定义的全局变量aExtendedAddress获取IEEE地址,如下:

uint8 * pValue[Z_EXTADDR_LEN];

osal_memcpy(pValue, &aExtendedAddress, Z_EXTADDR_LEN);

3 您也可以利用利用zb_GetDeviceInfo()函数

希望对您有所帮助!

谢谢您的答复,我在协调器上使用APSME_LookupExtAddr(shortaddr,extaddr)根据已知短地址也获取到了终端的IEEE地址

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

网站地图

Top