fenghuolulei 发表于 2016-7-7 18:47:08

stm32以太网接收断续

使用stm32f429的片子,用cube生成包括lwip的示例,无操作系统。不知道什么原因cube的lwip不能选择igmp,只好手动打开此开关,同时为了编译通过关闭了dhcp.

在以太网配置处打开接收组播开关,同时把lwip_process函数加入主循环。外界5ms发一包,不停发组播包。大概正常7,8万包之后,就收不到包了,在底层单步跟踪后发现底层的dma处不停空转,但这时外界是有发包的。过一会又正常了,继续能接受到7,8万包。过一会又不行了。
把接收方式修改为中断方式(cube中无法设置成这样,只能轮询)发现空转时收缓冲区溢出计数一直在增加。
cpu主频是160多兆,主循环没有其他任务,不太可能是由于收包来不及吧。哪位知道这是什么原因呢?

wofei1314 发表于 2016-7-8 14:25:12

会不会堆栈溢出?

等到手解答

myfocus-2048857 发表于 2016-7-18 00:40:51

签到学习         

xiaoyustm32 发表于 2016-7-18 09:46:45

wofei1314 发表于 2016-7-8 14:25
会不会堆栈溢出?

等到手解答

对呀,是不是溢出了。

SZHYK 发表于 2016-8-1 19:39:00

学习学习。
页: [1]
查看完整版本: stm32以太网接收断续