STM32 LWIP接收数据不能超过5912字节

2019-12-15 11:21发布

各位大神好
我在使用STM32F746-NUCLUO板子CUBEMX生成的LWIP工程时出现问题,利用官方例程裸跑UDP server,网络调试助手发送数据到server上。当数据大于5912字节时基本接收不到(偶尔能收到但不稳定),观察LWIP内部数据,5912字节被分成4个pbuf存储,存储大小为1472字节和3个1480字节。大于5912字节的数据就进入不了回调函数了,貌似直接被协议栈丢弃,请问如何设置才能解决这个问题,在此先谢过!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
zxq6
1楼-- · 2019-12-15 15:38
一般情况不会,除非你得程序有问题。我用f4,tcp接收都能跑很快的速度的。
warriorgz
2楼-- · 2019-12-15 21:37
zxq6 发表于 2018-11-24 08:10
一般情况不会,除非你得程序有问题。我用f4,tcp接收都能跑很快的速度的。

谢谢你的回复,这个问题确实很诡异,我之前实验是PC端发送4800个字节,每秒发送30次,LWIP接收一直非常顺利稳定。但这次发送超过5912字节时,LWIP协议栈貌似直接将数据丢弃了,而且不稳定,可能发送20次有1次可以正常接收。
zxq6
3楼-- · 2019-12-15 23:05
 精彩回答 2  元偷偷看……
marshallemon
4楼-- · 2019-12-16 00:54
udp的一个MTU就是1472,大于这个数量都需要拆包发送

一周热门 更多>