设备A已经入网,之后协调器调用NLME_PermitJoiningRequest(0);禁止设备入网。现在的问题是:
如果预编译的NV_RESTORE选项,设备A复位后,会无视NLME_PermitJoiningRequest(0),直接连接到原来的网络连接中。
Viki Shi:
重新入网需要协调器permit join
有误,以alvin的回复为准
Alvin Chen:
NV_RESTORE选项,设备A复位后,会无视NLME_PermitJoiningRequest(0)
这是正常的,这是rejoin ,不入网才有问题。
user4711142:
回复 Viki Shi:
现在我的协调器没有permit join,开启NV_RESTORE的设备,仍然可以连接到网络中
YiKai Chen:
NV_RESTORE就會記住已经入网的資訊,所以你设备A复位后會直接连接到原来的网络连接中
user4711142:
回复 YiKai Chen:
我现在想让指定设备退离网络。退出后,如果协调器没有permit join,则设备无法入网。不编译NV_RESTORE能实现我的功能。问题是:开启NV_RESTORE后,让指定设备退离网络,退出后,协调器没有permit join,设备重连成功。
YiKai Chen:
回复 user4711142:
你是如何让指定设备退离网络?
Alvin Chen:
回复 user4711142:
退网也是用leave command 禁止rejoin ,你断电不等于退网。
user4711142:
回复 YiKai Chen:
调用ZDP_MgmtLeaveReq(ExtiNet_DstAddr,IEEEAddr_temp,0,1,0)
user4711142:
回复 Alvin Chen:
复位和退网都会导致这个问题
Alvin Chen:
回复 user4711142:
改成ZDP_MgmtLeaveReq(ExtiNet_DstAddr,IEEEAddr_temp,0,0,0)
********************************************************************* @fnZDP_MgmtLeaveReq** @briefThis builds and send a Mgmt_Leave_req message.** @paramdstAddr – destination address of the message*IEEEAddr – IEEE adddress of device that is removed*RemoveChildren – set to 1 to remove the children of the*device as well. 0 otherwise.*Rejoin – set to 1 if the removed device should rejoinafterwards. 0 otherwise.** @returnafStatus_t
TI中文支持网