This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ZigBee传输应答机制

Other Parts Discussed in Thread: CC2530

请问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