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.

[参考译文] [CC2562P]一次发送多个AF_DATA_Request时,MAC_EXPIRETRED错误。

Guru**** 2467600 points
Other Parts Discussed in Thread: CC2531EMK

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1092468/cc2562p-mac_expired-error-when-sending-multiple-af_data_request-at-once

主题中讨论的其他部件:CC2531EMK

您好,

标题说明了一切,但让我更确切地说。

我有一个带有CC2562P MCU的Sonoff Dongle和一个CP210X USB到UART桥接器。

我写了这个函数,它发送有关特定值的AF_DATA_Request并等待数秒(最多5秒)的应答。

我使用此功能获取ZigBee恒温器的最新值(设定点,电池,阀门打开)。  

我注意到,在一个又一个发送多个请求时,如果两个请求之间有超时,一些AF_DATA_CONFIRM会返回值MAC_EXPIREN,即使在默认值7秒之前也是如此。

 在使用CC2531EMK子卡时,不会重复出现这种情况。

在这方面,CC2531EMK的性能是否可能优于CC2562P MCU?

此致,

左侧

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    更新:我有一个单独的线程,每10分钟轮询一次网络中的设备,以检查设备是否仍联机。

    当我轮询自动调温器时,有时会发生在发送AF_DATA_Request后,我收到一个带有错误代码的DATA_CONFIRM:MAC请求过期,该请求在我的GUI中转换为错误三角形。 这几乎是在发送数据包后立即完成的。

    自动调温器仍完全正常工作并连接到网络。 所以我不理解这种行为。

    另一个自动调温器有时断开连接,我收到一个终端设备zdo annce数据包。

    当设备连接到我的IKEA路由器时,一切都能正常工作。 有什么想法吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Luca,

    这很可能是因为MAC中有过多的消息排队而没有传输,并且数据缓冲区已满。  应考虑从Stack/Nwk/Nwk_globals.c和Stack/Config/*.opts中增加Nwk_MAX_DATABUFS_*定义,以确定这是否会改善行为。  最佳做法是,应用程序应确保在将其它数据包排队之前,已成功通过无线方式传输了以前的消息。  CC253X可能具有不同的项目设置 ,但与CC2652X相比,MAC/Zigbee的性能不会更好。

    此致,
    Ryan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您的软件设计为多线程? 很好。 您可以将消息发送到多个终端设备,并等待 每个设备的AF_DATA_CONFIRM 。 发送到目标之一时,软件应等待此目标的 AF_DATA_CONFIRM 事件,而不向其发送任何新消息。 但在这种情况下,您的软件可以向其他目标发送消息。不要介意 ZMacTransactionExpird,此事件可以帮助您的软设备检测目标是否正常工作。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您建议如何检查数据包是否已通过无线方式成功发送? 不能承受等待data_confirm,因为它会导致用户端的延迟。

    想象一下,如果一个设备没有应答,而我在7秒后收到MacTransitionExpired错误,用户会看到一个灯关闭,7秒后看到下一个灯关闭。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Luca,

    根据Aries的建议,最好是跟踪应用程序中每个设备的响应,以便您可以继续将消息发送到已返回AF_DATA_CONFIRM的其他设备,即使其中一个设备处于非活动状态。

    此致,
    Ryan