Part Number:CC2530Other Parts Discussed in Thread:Z-STACK
基于zstack home1.2.2a开发,终端未开启NV_RESTORE,协调器仅开启NV_INIT
使用三个终端一个协调器
现象:两个终端复位总数超过20次后就再也无法连接协调器,只有协调器复位才可以重新连接
观察关联表。终端复位未改变短地址,关联表也没有增加,关联表除了前三个结构体有值,后面的结构体值均为FFFF
使用
NLME_LeaveReq( &req );
AssocRemove( addrEntry.extAddr);
ZDApp_NVUpdate();
清理关联表后,再打印关联表,则全FFF,但终端上报仍然正常(使用zcl_SendReportCmd())
此时三个终端再复位,关联表前三个结构体有值,并且短地址发生改变
但复位超过20次后仍然会连不上
问题1:还有类似关联表的东西需要清除?
问题2:怎样才能清除一些无效节点,比如终端复位或者终端离开网络,新的终端要进来?
感谢
yinhui zhou:
顺便补充一个问题,当协调器收到一条信息,怎样可以知道所收信息来自关联表里的第几个,或者知道了extAddr后,怎么获知这个extAddr在关联表里的位置
,
yinhui zhou:
怎样发送信息的终端再关联表里的位置
,
YiKai Chen:
你协调器的permit join有一直打開嗎?
,
yinhui zhou:
zstack home1.2.2a 好像没有permit join
,
YiKai Chen:
Zigbee Stack 一定有permit join enable/disable的機制丶Z-Stack你可以在協調器調用NLME_PermitJoiningRequest來enable/disable permit join
,
Kevin Qiu1:
yinhui zhou 说:两个终端复位总数超过20次后就再也无法连接协调器,只有协调器复位才可以重新连接
这似乎和NWK_MAX_DEVICES有关,它的默认值是20,你可以将这个值改大
也可以使用ZDO_ProcessMgmtLeaveReq()从协调器移除终端,它会从关联表中移除设备