利用STM32F767+DP83848 与电脑进行直连通信,采用LWIP+UDP形式,当发送数据大于1472 字节时,CPU自动分片发送,用Wireshark抓包工具抓取数据中出现问题?如下图所示 0000 22 b0 22 b1 05 e4 83 c5 a5 00 00 00 00 00 00 00 "."............. 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ ......................................................................中间00省略 0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 05b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 78 da ..............x. 05d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 05e0 00 00 00 dd .... 此为发送1500个字节数据,帧头帧尾分别为A5和DD,中间的数据全部填0,蓝色部分应该为分片后第二包抓取的数据,但不知道为什么第二包数据中有两个数据字节被78和da覆盖掉了,这两个数据是哪里来的啊???请大神赐教,多谢! |
https://www.stmcu.org.cn/module/forum/thread-622409-1-1.html
UDP分片只有第一帧带UDP头, 但 MAC层 错误的对所有帧均计算UDP校验.这并不是LWIP或83848的错.