使用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,通过测试,每帧能够多发送一字节。