微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 终端休眠定时唤醒(PM2) 期间断网无法恢复怎么回事,不休眠的情况 可以恢复。

终端休眠定时唤醒(PM2) 期间断网无法恢复怎么回事,不休眠的情况 可以恢复。

时间:10-02 整理:3721RD 点击:

终端休眠定时唤醒(PM2) 期间断网无法恢复怎么回事,不休眠的情况 可以恢复。

你是否基于协议栈开发?你是自己用程序在控制设备进入PM2吗?终端设置了POLL_RATE, 终端会周期性唤醒与父节点交互数据。

是基于协议栈开发,是自己控制设备进入PM2,抓包发现,定时休眠中间断网,终端会发一分多钟的信标然后就不在发送信标请求,是怎么回事呀?

不发信标后发了后边一些乱七八糟的东西,您给看看!@!

在吗 TY?你看看我的问题!

后面那个长帧是zigbee的帧。 是你发了beaconrequest,周边节点回的。

不需要自己控制进入PM2,本身有PM管理。如下文章可以看看

http://www.deyisupport.com/question_answer/wireless_connectivity/zigbee/f/104/p/105541/282780.aspx#282780

重新入网时,有backoff的机制,即一段时间没加进去,就停止加入,并退后一段时间,然后在开始加入过程。

参考手册的7. Portable Devices

函数是

ZDApp_SetRejoinScanDuration() and ZDApp_SetRejoinBackoffDuration().

你好TY!ZDApp_SetRejoinScanDuration() and ZDApp_SetRejoinBackoffDuration().这两个函数我在协议栈没找到?是新版本的才有的吗?老版本没有吗?

是的。这是新增加的功能。

你好TY,现在问题是终端断网后(把协调器断电)终端一直发送信标,协调器从新插电,终端无法入网一直发信标 我的加了NV_RESTORE预编译项,怎么回事啊?怎么解决呀?

协调器端也有NV_RESTORE对吧,这个没问题每次都能够复现吗? 

另外你在节点做下下面额改动

void ZDApp_NetworkInit( uint16 delay )

{

+  if ( devStartMode == MODE_REJOIN )

+  {

+    _tmpRejoinState = true;

+  }

  if ( delay )

  {

    // Wait awhile before starting the device

    osal_start_timerEx( ZDAppTaskID, ZDO_NETWORK_INIT, delay );

  }

  else

  {

    osal_set_event( ZDAppTaskID, ZDO_NETWORK_INIT );

  }

}

你好VV我的协调器也加了NV_RESTORE啦,你给的建议,我在一篇英文网页里看到过也加了,但是还是不行,断网后,终端一直发信标,但是协调器恢复网后没有ACK应答,结果终端一直发信标无法恢复入网,您给分析下吧!

void ZDApp_NetworkInit( uint16 delay )

{

+  if ( devStartMode == MODE_REJOIN )

+  {

+    _tmpRejoinState = true;

+  }

  if ( delay )

  {

    // Wait awhile before starting the device

    osal_start_timerEx( ZDAppTaskID, ZDO_NETWORK_INIT, delay );

  }

  else

  {

    osal_set_event( ZDAppTaskID, ZDO_NETWORK_INIT );

  }

}
 

已解决

请问怎么解决的

你好,最近也是断网后无法恢复,也不休眠请问怎么解决啊?求指教

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top