经过几天的查找,终于出找到了错误。
协调器在使用AF_DataRequest 函数发送数据时,返回值为0x10。对应状态如下
#define afStatus_SUCCESS ZSuccess /* 0x00 */
#define afStatus_FAILED ZFailure /* 0x01 */
#define afStatus_INVALID_PARAMETER ZInvalidParameter /* 0x02 */
#define afStatus_MEM_FAIL ZMemError /* 0x10 */
#define afStatus_NO_ROUTE ZNwkNoRoute /* 0xCD */
请问TI 的前辈门如何解决这问题。
Susan Yang:
您调用AF_DataRequest的频率是多少?如果调用频繁的话,确实会出现这种问题
user4174430:
回复 Susan Yang:
是这样的。协调器下有四个终端,每个终端以每6秒向协调器发一次数据,数据长度为5个字节。协调器在收到终端发来的数据后,会回5个字节。这样的算频率过快吗?
产生这个问题,是在发送时,申请内存失败导致的吗?申请的是堆栈的3K内存吗?
**************************************** * * * END OF CROSS REFERENCE * * * ****************************************
162 963 bytes of CODE memory 32 bytes of DATA memory (+ 72 absolute ) 7 513 bytes of XDATA memory 192 bytes of IDATA memory 8 bits of BIT memory 1 038 bytes of CONST memory
VV:
回复 user4174430:
你程序里面是不是有动态申请内存,然后没有释放的,导致内存泄露的,你可以检查下。
这个问题,是一开始会出现,还是运行一段时间以后才出现的?