This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

如何清除z-stack过时的节点信息???

Other Parts Discussed in Thread: 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);

    }