ZigBee传输应答机制
请问ZigBee设备间通信的可靠传输机制具体是怎么样实现的呢?用户文档中仅说明了加选项可以有ACK的保障,没有深入介绍可靠传输的具体方式哦。
大多数代码使能了AUTO_ACK标志位,即CC2530可以自动应答无线数据帧。CC2530的应答机制是遵循802.15.4标准,建议您参考802.15.4的机制
您好,请问如何使能AUTO_ACK标志位?我用SI搜索协议栈代码但并没有找到该标志位。谢谢!
是否就是afStatus_AF_DataRequesr()中options的AF_ACK_REQUEST选项?
Any invocation of AF_DataRequest() that returns ZSuccess will result in a “callback” by way of the
AF_DATA_CONFIRM_CMD system event message.
The sent Transaction Id (sentTransID) is one way to identify the message. Although the sample application will only
use a single Transaction Id counter, it might be useful to keep a separate Transaction Id counter for each different
endpoint or even for each cluster ID within an endpoint for the sake of message confirmation, retry, disassembling
and reassembling, etc. Note that any transaction ID state variable (counter) that is passed to
AF_DataRequest()gets incremented by this function upon success (thus it is a parameter passed by
reference, not by value.)
The return value of AF_DataRequest() of ZSuccess signifies that the message has been accepted by the
Network Layer which will attempt to send it to the MAC layer which will attempt to send it over-the-air.
The sent Status (sentStatus) is the over-the-air result of the message. ZSuccess signifies that the message has been
delivered to the next-hop ZigBee device in the network. If AF_DataRequest() was invoked with the
AF_ACK_REQUEST flag, then ZSuccess signifies that the message was delivered to the destination address.
Unless the addressing mode of the message was indirect (i.e. the message was sent to the network reflector to do a
binding table lookup and resend the message to the matching device(s)), in which case ZSuccess signifies that the
message was delivered to the network reflector. There are several possible sent status values to indicate failure.
这是 官方文档对ack的描述 要得到确切的ack搜索AF_DATA_CONFIRM_CMD