如何清除z-stack过时的节点信息?
几十个节点反复上电断电,会造成协调器和路由器的节点信息被填满,导致节点无法正常假如网络,请问怎么清除过时节点信息?
只清除AssociatedDevList 作用不大!还有哪些地方存储节点信息?
您可以根据AssociationDevList 条目中的age值来判断 路由节点是否脱离网络,若脱离网络,则先调用AddrMgrEntryGet( ) 获取丢失节点的短地址 和 扩展地址,然后
调用NLME_LeaveReq()/AssocRemove()对表中的条目信息进行清除操作。
Z-stack中关联表AssociationDevList 主要存储与该节点有父子关系的相关节点信息,表中信息的 IEEE 地址是唯一的,每个设备加入它的父节点时会在表中添加一个记 录
是能清除 但是会出现这种情况:协调器和路由器重新烧写程序 终端不变 ,会出现终端无法加入路由器和协调器,40个节点只有2 到3个能加入网络!
您好,我在sampleapp例子中,在app层通过串口观察AssociatedDevList,发现最多只能打印出2个节点,而且,age值一直是为0的情况,请问是什么原因,困惑了好久。
for(_nodeCounter = 0; _nodeCounter < NWK_MAX_DEVICES; _nodeCounter++)
{
if(
(AssociatedDevList[_nodeCounter].nodeRelation == CHILD_FFD_RX_IDLE) ||
(AssociatedDevList[_nodeCounter].nodeRelation == CHILD_FFD) ||
(AssociatedDevList[_nodeCounter].nodeRelation == PARENT)
)
sprintf(age,"%d",AssociatedDevList[_nodeCounter].age);
HalUARTWrite(0,"age:",4);
HalUARTWrite(0,age,2);
HalUARTWrite(0,"~",1);
}