查看: 2923|回复: 3

[MCUXpresso] MKW41Z512-Zigbee3.0-协调器APDU资源不够问题

[复制链接]
  • TA的每日心情

    2019-9-27 13:18
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    4

    主题

    13

    帖子

    0

    注册会员

    Rank: 2

    积分
    52
    最后登录
    2019-10-18
    发表于 2019-9-25 16:59:45 | 显示全部楼层 |阅读模式
    本帖最后由 kongchunxiu 于 2019-9-25 19:07 编辑

    问题描述
          协调器和终端通信时,协调器有时会出现错误提示ZPS_XS_E_NO_FREE_APDU,对应值是0x81,,英文注释为No free APDUs (resource error) - the number of APDUs is set in the "Instances" property of the appropriate "APDU" child of the "PDU Manager" section of the ZPS Configuration Editor
    ,表示APDU资源不够,该怎么解决?

    开发环境
          芯片用的NXP的MKW41Z512,软件用的MCUXpresso IDE,SDK版本是2.2.0,是官网选好芯片后直接生成的SDK库,程序是选的SDK库中的Zigbee 3.0的协调器例程,另外自己增加一些定时发送数据的逻辑。

    目前困境
          NXP协议栈不开放源码,无法调试接口,我这边发现错误后,只能去找错误码定义,非常不利于我查问题。Zigbee群和NXP官网也都问过查过了,没什么收获。

    相关代码
          status = ZPS_eAplAfUnicastAckDataReq(pdu_data, 0x1234, 1, 1/*255*/, dst_addr, ZPS_E_APL_AF_UNSECURE, 0, NULL);代码说明:
    1.第一个参数是要发的数据,在准备这个数据时,调用了Zigbee的一些接口,这些接口的返回值也都表示没有错误出现。
    2.第二个参数是目标集群,这个我是随便填写的,调试过程中也发现这个集群ID不影响协调器和终端之间的数据交互(也可能有影响,只是我调试时没遇到这个情况);
    3.第三个参数是原节点;
    4.第四个参数是目标节点;
    5.第五个参数是安全模式,也是随便选的,不要安全,想着参数是按照它的定义来传的,应该不会有错。
    调试过程中我的目的只是想要借助zigbee网络来传递数据,不需要ZCL层,我透传自己的应用层协议数据就足够了,即我只是借助了zigbee网络这个载体来传数据。
    备注
         当我将终端数量增加时(目前最多也就加到6个终端,数据发送的时间间隔是1秒),就会很容易出现这个错误。


    我知道答案 目前已有3人回答

    错误提示

    错误提示

    错误定义

    错误定义
    没人回帖,好难受。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2020-7-2 08:36
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    0

    主题

    3

    帖子

    0

    新手上路

    Rank: 1

    积分
    14
    最后登录
    2020-7-2
    发表于 2019-10-9 09:10:01 | 显示全部楼层
    可否通过ZPS编辑器修改APDU的数量
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2019-9-27 13:18
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    4

    主题

    13

    帖子

    0

    注册会员

    Rank: 2

    积分
    52
    最后登录
    2019-10-18
     楼主| 发表于 2019-10-17 15:06:39 | 显示全部楼层
    本IDE下,协调器的例程里没有ZPS编辑器(可能要自己创建吧,我在工程文件下搜索相关的文件,没搜索到),不过我在头文件app_pdum_cfg.h中找到了修改APDU数量的地方。就这个错误而言,改这里应该是没问题的。

    附件说明:
    附件1.APDU宏定义在例程中的位置。
    附件2.APDU宏定义在例程中使用的位置。
    APDU宏定义.png
    例程中使用APDU宏的地方.png
    没人回帖,好难受。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2019-9-27 13:18
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    4

    主题

    13

    帖子

    0

    注册会员

    Rank: 2

    积分
    52
    最后登录
    2019-10-18
     楼主| 发表于 2019-10-17 15:10:15 | 显示全部楼层
    奈微凉 发表于 2019-10-9 09:10
    可否通过ZPS编辑器修改APDU的数量



    本IDE下,协调器的例程里没有ZPS编辑器(可能要自己创建吧,我在工程文件下搜索相关的文件,没搜索到),不过我在头文件app_pdum_cfg.h中找到了修改APDU数量的地方。就这个错误而言,改这里应该是没问题的。

    附件说明:
    附件1.APDU宏定义在例程中的位置。
    附件2.APDU宏定义在例程中使用的位置。


    APDU宏定义.png
    例程中使用APDU宏的地方.png
    没人回帖,好难受。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-23 13:52 , Processed in 0.096061 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表