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.

退网问题

使用的是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不进入低功耗。断电重启后会恢复。

  • 串口一直发送的是退网命令,每次都会调用

      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 );
        }

    就会产生冲突。控制串口退网命令只发送一次就可以解决

    同样连续发送组网命令也会出现不能正常工作情况,解决方法一样。

  • 低功耗状态下串口怎么工作?