OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3125|回复: 1

阿波罗网络UDP陷入死循环的问题(无操作系统)

[复制链接]

6

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
147
金钱
147
注册时间
2016-12-12
在线时间
41 小时
发表于 2019-5-22 18:15:10 | 显示全部楼层 |阅读模式
使用原子哥的阿波罗STm32F429开发板,在“网络实验3 RAW_UDP实验”的基础上修改代码,使用8089端口接收网络调试助手的数据(1.3k左右),接收到数据后,通过8089端口将数据直接发送回网络调试助手,网络调试助手使用1ms的间隔尺寸发送数据,大约1小时内,程序将会不停进ETH_IRQHandler中断, 中断.png
进中断后,程序一直读到有数据,不停执行while循环中的lwip_pkt_handle();函数,但进入处理函数后,又不能读到数据,使用调试模式跟进,发现在HAL_ETH_GetReceivedFrame(ETH_HandleTypeDef *heth)函数中,执行__HAL_LOCK(heth);之后就直接跳出了,
未命名-3.jpg
未命名-4.jpg
未命名-5.jpg
未命名-6.jpg
如此就导致程序一直在中断中的while循环中。
因为对网络底层不熟,所以希望原子哥和论坛里的大大们帮忙看看如何处理,代码在附件中,串口调试使用的是串口3(貌似串口1插上后,程序经常会出现不能运行的情况,使用仿真模式,程序都执行不到main函数)。

网络实验3 RAW_UDP实验(发送一段时间,卡死).rar (1.69 MB, 下载次数: 0)
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

168

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
214
金钱
214
注册时间
2019-4-28
在线时间
5 小时
发表于 2019-5-23 14:48:37 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-14 13:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表