使用的是2.50的协议栈,一个终端和一个协调器组成网络,终端3S轮询PM2模式。
串口一直给终端发送数据(500ms一个56字节的数据),
然后终端退出网络
NLME_LeaveReq_t leaveReq;
osal_memset( &leaveReq, 0, sizeof( NLME_LeaveReq_t ) );
leaveReq.rejoin = TRUE;
leaveReq.extAddr = NULL;
if ( NLME_LeaveReq( &leaveReq ) != ZSuccess )
{
ZDApp_LeaveReset( FALSE );
}
串口一直送,终端退网成功后串口就会不响应,电流持续8mA不进入低功耗。断电重启后会恢复。
Tianhao Wang:
串口一直发送的是退网命令,每次都会调用
NLME_LeaveReq_t leaveReq; osal_memset( &leaveReq, 0, sizeof( NLME_LeaveReq_t ) ); leaveReq.rejoin = TRUE; leaveReq.extAddr = NULL; if ( NLME_LeaveReq( &leaveReq ) != ZSuccess ) { ZDApp_LeaveReset( FALSE ); }
就会产生冲突。控制串口退网命令只发送一次就可以解决
同样连续发送组网命令也会出现不能正常工作情况,解决方法一样。
VV:
低功耗状态下串口怎么工作?