微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 重复发帖!一个帖子发了马上一个星期了 没有任何回复!

重复发帖!一个帖子发了马上一个星期了 没有任何回复!

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

使用情况描述:

一个协调器   一个终端        协调器采用电源适配器供电,终端采用电池供电

终端采用   halSleep(1000);  进入睡眠,睡眠结束后 工作20ms的时间 再进入睡眠 对终端进入睡眠的次数计数,每睡眠10次  则发送一次数据给协调器

如果终端发现 zigbee网络断开了,睡眠时间则改为5s  即 halSleep(5000);  5s睡眠结束 后,调用 ZDApp_StartJoiningCycle(); 寻找网络!此时开始计时3s,如果3s时间到了没 有加入到zigbee网络中  则调用ZDApp_StopJoiningCycle(); 停止网络搜索。  再次进入5s 钟睡眠  如此反复操作5次,如果5次都不能正确加入到zigbee网络 则睡眠时间会修改为1分 钟,每一分钟 寻找网络3s (PS.改成1分钟 是为了让电池能用的久一点)

问题: 使用中发现 当终端发现断网的时候,使用ZDApp_StartJoiningCycle来寻找网络 经常出现 加入网络失败的情况,  5s睡眠+3s寻找网络的机制   重复操作5次都不能成功 在进入到 1Min 睡眠 + 3s寻找网络的时候 最终能够加入到网络中  但是这个时间会比较久

导致上述问题的主要原因是什么啊?是我哪里操作出错了么

希望得到ti的高手指点一下啊!

在z-stack协议栈里面,休眠时间多少,不需要自己调用hal_sleep函数的,系统自己调用的。 自己调用的话,有可能会影响其他的状态机。

Hi VV:

       如果不使用hal_sleep函数 怎么确定休眠了多少时间呢?终端在休眠的时候,如果有控制命令下来 怎么能立即响应控制命令呢 ?

用osal_start_timerEx函数,只要节点入了网,无其它事情处理,就能休眠,在定时触发后自动唤醒,无定时触发时长期休眠,可以外部中断唤醒。控制命令在协调器发出后7秒内发送一个Nwk_Poll

Hi,Aries Lord:

控制命令在协调器发出后7秒内发送一个Nwk_Poll 是什么意思?

7s是不是意味着协调器发送一个控制命令给终端,终端7s之后或者时间更长才能够执行 ?

@PM,

建议先了解下Z-Stack协议栈在OSAL操作系统中运行是的休眠实现机制。另外也了解下ZigBee协议中终端设备和父设备之间的通信机制。

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

网站地图

Top