使用AF_DataRequest传输数据,最大能传输81个字节,超过81字节就会被自动分包。
但是从zigbee官方的技术文档中获知,APS最大载荷为82字节,此时MAC帧长度对应为127字节。
在AF.c中,找到函数afDataReqMTU,进行如下修改:
uint8 afDataReqMTU( afDataReqMTU_t* fields ) {uint8 len;uint8 hdr;if ( fields->kvp == TRUE ){hdr = AF_HDR_KVP_MAX_LEN;}else{hdr = AF_HDR_V1_1_MAX_LEN;}len = (uint8)(APSDE_DataReqMTU(&fields->aps) - hdr) + 1;return len; }
即return len + 1,通过测试,每帧能够多发送一字节。
Aries Lord:
回复 Susan Yang:
可能是核心函数APSDE_DataReqMTU返回的值有误,应该多加一个字节。