节点通过执行如下代码退网:
NLME_LeaveReq_t leaveReq;
// Set every field to 0
osal_memset( &leaveReq, 0, sizeof( NLME_LeaveReq_t ) );
// This will enable the device to rejoin the network after reset.
//leaveReq.rejoin = TRUE;
leaveReq.rejoin = FALSE;
// Set the NV startup option to force a "new" join.
zgWriteStartupOptions( ZG_STARTUP_SET, ZCD_STARTOPT_DEFAULT_NETWORK_STATE );
// Leave the network, and reset afterwards
if ( NLME_LeaveReq( &leaveReq ) != ZSuccess )
{
// Couldn't send out leave; prepare to reset anyway
ZDApp_LeaveReset( FALSE );
}
长按执行后,协调器会上报收到了退网请求命令,数据包如下:
FE 0D 45 C9 BD E1 91 E9 5D 07 00 4B 12 00 00 00 00 A6
但是发现的现象是很快设备又会重新加网,进入到了网络中。
之前也有发生过窜网的情况,即一个协调器没有开放网络,但是节点在发Beacon Request时,会进入到这个协调器网络中。
请问这个是什么原因呢?是不是哪边有什么没有处理?
VV:
确定的协调器没有开放网络?加网是通过什么方式加进去的,Association还是Rejoin.
你的数据呢??