TI中文支持网
TI专业的中文技术问题搜集分享网站

请问一下,单播父节点后,怎么判断收到了ACK?

为了防止父节点丢失,采用心跳模式。

10S单播父节点一次。连续3次没有ACK回复就初始化网络ZDApp_NetworkInit(1000);,再去找父节点。

问题来了,我怎么知道父节点回复的ACK?怎么去判断ACK收到了?

例子用的ZStack-CC2530-2.3.0-1.4.0  SampleApp

AF_DATA_CONFIRM_CMD只有一个在ZDAPP里面

Susan Yang:

建议您采用最新的协议栈 

最新的协议栈里面,有对End Device加入关于Child Aging的功能,原理就是End Device会定期的发Data Request出来,当父节点连续多长时间没有收到以后,就认为节点掉线了。

polo chiaki:

回复 Susan Yang:

谢谢了,解决了,我知道哪里收ACK了。也判断了。 我用的是路由器与路由器之间的父子关系。 还有最新的协议栈没有定时器了。 我把以前的定时器进去可以用,但是有一个问题,串口没有以前版本稳定。协议是我自己定义的,ZStack-CC2530-2.3.0-1.4.0的串口很稳定。移植到2.51a后,串口会莫奇妙的收到0x00夹杂在里面,导致我串口协议死了。

赞(0)
未经允许不得转载:TI中文支持网 » 请问一下,单播父节点后,怎么判断收到了ACK?
分享到: 更多 (0)