zigbee传送数据包比较大时提示内存溢出问题
时间:10-02
整理:3721RD
点击:
我用协调器(ZNP)发送98bytes的数据给1s起来一次的终端设备,用串口发送这包数据时,测试过程中会发现有时候包无法发送出现,协议栈回复的消息是提示内存溢出,因为回复的消息是FE 01 64 01 10 74 ,其中10就是代表说内存溢出,协议栈中有 #define ZMemError 0x10,出现这个问题后,等会儿再发送数据,终端节点又可以了接收了,但是多测又会出现,后来改为80bytes一包,还是会出现,然后把堆改大,出现概率小了。
这个问题要怎么解决?还有数据要小到什么程度才不会出现这个问题,多大的数据会出现分包?项目正在进行,急急急!
ZMenError与协调器RAM无关,出现ZMenError说明你的协调器还没有死机。AF_DataRequest在加密时最大发包81字节,超过81字节就会使用分包模式。分包模式下会占用协调器的HEAP。正确发送方法是如果出现ZMenError错误,需等到AF Data Confirm消息后再继续发。