TI中文支持网
TI专业的中文技术问题搜集分享网站

哪些情况会导致AF_DATA_CONFIRM_CMD的状态值为0x01?

调用AF_DataRequest发送数据,会在AF_DATA_CONFIRM_CMD中得到该次调用的状态值,其中调用AF_DataRequest的Tx options参数为AF_ACK_REQUEST.

测试得到的afDataConfirm->hdr.status的值有以下值:

0x00(ZSuccess),

0x01(ZFailure),

0xcd(ZNwkNoRoute),

0xb7(ZApsNoAck),

0x1a(MAC_NO_RESOURCES),

0xe1(ZMacChannelAccessFailure),

0xe9(ZMacNoACK)

请问有哪些情况会导致返回状态值0x01(ZFailure)?

Viki Shi:

是否是多次发送以后出现该错误?可能是内存不够了

YiKai Chen:

会导致AF_DATA_CONFIRM_CMD的状态值为0x01的狀況有很多,你可以搜尋一下源碼內會回覆ZFailure的部份

zhimin xie:

回复 YiKai Chen:

这部分应该是没有源代码的,我是想知道具体是什么导致的ZFailure

zhimin xie:

回复 Viki Shi:

程序有做了下限制,最多允许有4次AF_DataRequest调用,但是还是偶尔出现状态值为0x01(ZFailure)

#define INT_HEAP_LEN(3072 + 200)

zhimin xie:

回复 Viki Shi:

在申请不到内存时,会打印消息,试验了下,内存没申请失败也还是会出现AF_DATA_CONFIRM_CMD的状态值为0x01

赞(0)
未经允许不得转载:TI中文支持网 » 哪些情况会导致AF_DATA_CONFIRM_CMD的状态值为0x01?
分享到: 更多 (0)