802.15.4 的ACK
时间:10-02
整理:3721RD
点击:
各位大侠,在做802.15.4开发时遇到如下问题,求帮助,谢谢啦
(1)在802.15.4协议下,终端发送消息给协调器后,如何知道协调器已经收到消息?怎么查询ACK?
(2)在802.15.4协议下,终端在不与协调器通讯的情况下,如何知道协调器有没有存在?
(3) 在802.15.4协议下,终端休眠1s后醒来发送一个心跳包给协调器然后又休眠,不断循环。然而在相同的程序下,只是存在焊接差异的终端电路板有的可以发出去这个心跳帧,有的却发不出去心跳帧,这是又软件兼容性造成的,还是其他原因?怎么改进呢?
1&2、请问你用的是什么版本的协议栈?后续我们更新的zstack版本加入了child aging功能,终端设备会定期发送Data Request,当父节点连续多长时间没有收到以后,就认为节点掉线了。
3、软硬件都有可能,但是个人认为硬件可能性更大,先排查硬件
谢谢啦!
(1)我使用的是802.15.4的原始协议,需要功能是终端在不与父节点进行通讯的情况下,知道自己是否还处在网络中。
(2)您说的ZigBee的这个功能我大概知道,但这个也是相当于进行了通讯。
(3)在802.15.4协议下,终端怎么知道自己发的消息被父节点收到了,就是怎么查询ACK?API接口是什么?
(4) 在发送心跳帧的时候,软件是执行了的,但是数据帧并没被发送,但是如果休眠醒来1s之后,连续执行两次发送的代码,第二次是可以发送出来的。。但是有的板子只需要执行一次就可以发送出去,这是为什么?怎么样能够使的程序兼容两者,即只发送一次就都可以发送成功?谢谢!