微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > zigbee删除节点的问题

zigbee删除节点的问题

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

大家好,

      最近遇到一个问题就是删除一个路由节点,协议栈版本是2.5.1a -- cc2530,我使用的代码如下:

zAddrType_t addr_delet;
addr_delet.addrMode = Addr16Bit;
addr_delet.addr.shortAddr =addr;
AddrMgrExtAddrLookup(addr_delet.addr.shortAddr, tempbuf );
if(ZDP_MgmtLeaveReq((zAddrType_t *)&addr_delet,tempbuf,0,0,0)== ZSuccess)
MyDebug("\nSucce\n");

AssocRemove(tempbuf); 
ZDApp_NVUpdate();

结果是如果路由节点当前在网络里,则会正常删除掉它;

如果删除时节点没上电,之后再给节点上电,节点仍可以和协调器通信。。。通过AddrMgrExtAddrLookup函数查询该节点的长地址为0,(是否)说明关联表已经清除掉了。节点却未清出网络,这是否是正常现象。我想问下有没有什么API可以直接将节点去除网络无论节点是否在线,还是说升级为home1.2.2a版本能做到?如果不可以的话,我就只能通过一些其他方式,等待要删除的节点上电后再删除。

你说的节点仍然和协调器通信,原因是因为节点自己还保存着网络的信息,包括父设备的信息,这个是没办法的。

你只能是在后来上电通信时,发生leave的命令。

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

网站地图

Top