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.

mesh1.0,终端退网问题

又有问题了。还望大神们帮帮忙!!

协议栈:mesh1.0

终端退网的时候向协调器发出了LEAVE.

可是协调器为什么会回一个LEAVE呢。

抓包数据如下:

退网.rar

  • 你怎么发送的leave 请求,我看见你发送了leave之后还在发送data request 。你做了什么修改吗? 关于如何使用leave request 可以参考:
    e2echina.ti.com/.../481643
  • 嗯嗯,我去看看。我退网写在一个函数里调用,有关代码是这样的:

    HalUARTWrite(MT_UART_DEFAULT_PORT,"SUCCESS_LEAVE\n",14);//打印PC

    NLME_LeaveReq_t LeaveReq;

    LeaveReq.extAddr = NULL;
    LeaveReq.removeChildren =FALSE;
    LeaveReq.rejoin = FALSE;
    LeaveReq.silent = FALSE;
    NLME_LeaveReq(&LeaveReq);
    zgWriteStartupOptions(ZG_STARTUP_SET, (ZCD_STARTOPT_DEFAULT_NETWORK_STATE | ZCD_STARTOPT_DEFAULT_CONFIG_STATE) );//清楚网络信息,为了可以加入新的协调器
    osal_start_timerEx( GenericApp_TaskID,GENERICAPP_SYS_RESET_EVT,300);//复位

  • 谢谢您,确实没注意到data request,我以为是正常的。之前应该是在底层修改过。目前的做法是,发送退网后,就不在向父节点发送请求。测试了一下正常了。