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.

[参考译文] APSDE_DataReq功能返回错误代码0xC2

Guru**** 2540720 points
Other Parts Discussed in Thread: TIMAC, Z-STACK, CC2538

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/579897/apsde_datareq-funztion-return-an-error-code-0xc2

主题中讨论的其他部件:TIMACZ-STACKCC2538

我正在尝试向终端设备发送数据包,但APSDE_DataReq功能返回错误代码0xC2。

这是什么意思?

我使用了CC2538EM,请帮助我如何找出错误?

巴西,

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您查看了ZComDef.h,您将看到"#define ZNwkInvalidRequest 0xC2"。 您能告诉我如何将数据包发送到终端设备并收到此错误吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    陈先生,您好!
    感谢您的快速回复。
    我刚刚做了一个新项目,我使用了TIMAC软件包,由于OTA升级要求,我将OTA软件从ZStack软件包移植到TIMAC软件包。 因为我没有从TIMAC软件包中找到OTA固件。
    回到这个问题,我使用TIMAC连接到协调员(使用OTA_Dongle项目),连接正常后,设备获得短地址。 我发送使用APSDE_DataReq ()发送zclota_SendQueryNextImageReq()以初始化OTA进程的软件包。 我跟踪固件并发现0xC2错误。

    巴西,
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否确定在APSDE_DataReq_t中使用了正确的参数?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我使用的参数ZStack软件包代码,我认为TI是可以的,因为连接来自TIMAC固件,并且连接后是可以的。 我刚刚更新:
    zclota_serverAddr.addrMode =( afAddrMode_t )Addr16Bit;
    zclota_serverAddr.addr.shortAddr =0;
    //采用第一个端点,可以更改为在端点之间搜索
    zclota_serverAddr.endpoint = 14U;
    并将其用于dstAddr参数,我不知道这是否足够用于SEND函数?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这三个参数看起来不错,但我不确定其余的参数。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    状态= zcl_SendCommand (ZCL_OTA_ENDPOINT,dstAddr,ZCL_cluster_ID_OTA,
    COMMAND_QUERY_NEXT IMAGE_REQ,TRUE,
    ZCL_FRAME_CLIENT_SERVER_DIR,FALSE,0,
    zclota_SeqNo++( uint16 )( pBuf - buf ), buf );

    其他参数我在软件包中使用了宏,但我没有修改它们。

    巴西,
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    由于我没有TIMAC的完整源代码,我不知道导致APSDE_DataReq返回0xC2的确切原因。 希望TI的人员能够帮助您解决问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的帮助,现在我只想等待有人帮助解决此问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    欢迎您,祝您好运!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Wulin:

    您是否使用TIMAC 1.5 .2,以及是否从MSA_cc2538示例应用程序开始? 如果是这样,则不应使用函数APSDE_DataReq发送数据请求,因为此函数仅在Z-Stack中。 TIMAC数据请求函数是MSA_McpsDataReq
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    亲爱的JasonB:

    感谢您的回复。 我首先介绍我的项目要求:

    为了降低连接过程中的功耗,我们为项目开发平台选择TIMAC 1.5 连接器2。我们还应为项目添加OTA功能。

    我发现TIMAC 1.5 的软件包2不包括OTA功能固件,我的想法是将OTA软件包 从Z-Stack Home 1.2 .2a软件包移植 到我的项目中的TIMAC。 因为我想遵循OTA标准流程(如ZStack),并且可以与 ZStack软件包中的OTA_Dongle项目(作为协调员)通信。

    所以我们在我的项目中选择了两个软件包。现在我发现我的项目中的TIMAC只需在设备(我的项目,连接遵循TIMAC) 和协调员(OTA加密狗项目,连接遵循ZStack)之间建立连接,就可以了。

    但是从OTA进程端,我无法发送zclota_SendQueryNextImageReq()之类的消息,因为函数APSDE_DataReq的返回值是0xC2,并且因为 我无法获取APSDE_DataReq的源代码,所以我不知道如何 解决问题。

    您是否对我的项目有任何建议,例如将TIMAC和ZStack组合在一起,这是一个好的结构,还是您有任何其他建议?

    巴西,

    Mike

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我建议您将整个应用程序迁移到Z-Stack。 Z-Stack基于TIMAC之上,因此您在TIMAC中使用的所有功能也可在Z-Stack中使用。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我认为现在是一样的,因为我已经从ZStack将所有文件迁移到TIMAC,我认为您是对的,如果我使用APSDE_DataReq(),我无法从数据包嗅探器工具找到该软件包,但如果我使用MSA_McpsDataReq,我可以从该工具获取该软件包。
    现在我想我应该做的是如何将数据从APSDE_DataReq(&req )打包到MSA_McpsDataReq,您有什么建议吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我认为我们不能使用MSA_McpsDataReq,因为数据格式与APSDE_DataReq不同,并且协调员无法响应。 我想现在我们应该弄清楚它是如何从APSDE_DataReq(&req )函数返回值0xC2来解决这个问题的。 我认为我们仍应使用APSDE_DataReq(&req )函数与其他标准ZigBee协调员进行通信。
    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以接收此返回值的一种情况是,_NIB中的网络状态无效,如果ZigBee网络设置不正确,则会发生这种情况。 同样,我强烈建议您在继续之前将TIMAC应用程序迁移到一个干净的Z-Stack构建中。 假设您仅在TIMAC的应用程序层中进行了更改,将此逻辑迁移到Z-Stack OTA_Dongle示例应用程序应该相当简单。