请问一下,单播父节点后,怎么判断收到了ACK?
时间:10-02
整理:3721RD
点击:
为了防止父节点丢失,采用心跳模式。
10S单播父节点一次。连续3次没有ACK回复就初始化网络ZDApp_NetworkInit(1000);,再去找父节点。
问题来了,我怎么知道父节点回复的ACK?怎么去判断ACK收到了?
例子用的ZStack-CC2530-2.3.0-1.4.0 SampleApp
AF_DATA_CONFIRM_CMD只有一个在ZDAPP里面
建议您采用最新的协议栈
最新的协议栈里面,有对End Device加入关于Child Aging的功能,原理就是End Device会定期的发Data Request出来,当父节点连续多长时间没有收到以后,就认为节点掉线了。
谢谢了,解决了,我知道哪里收ACK了。也判断了。 我用的是路由器与路由器之间的父子关系。 还有最新的协议栈没有定时器了。 我把以前的定时器进去可以用,但是有一个问题,串口没有以前版本稳定。协议是我自己定义的,ZStack-CC2530-2.3.0-1.4.0的串口很稳定。移植到2.51a后,串口会莫奇妙的收到0x00夹杂在里面,导致我串口协议死了。