OpenEdv-开源电子网

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

STM32H7+LWIP+FREERTOS,以太网工作异常

[复制链接]

10

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
122
金钱
122
注册时间
2014-11-15
在线时间
17 小时
发表于 2022-12-3 14:26:07 | 显示全部楼层 |阅读模式
1金钱
各位大佬,基于STM32H7+LWIP+FREERTOS进行UDP通信,系统通过UDP以120Hz的频率在定时中断中向外发数,同时在1s一次的任务中对外发数,在接收到串口数据后(1秒8次的不定时数据)也会向外发数,同时UDP每秒还会接收32次每次近1000字节的数据,测试中发现系统在一段时间后HAL_ETH_Transmit函数会返回错误值,由于对UDP了解不多,不知道原因是什么,感觉存在有正在RTOS周期性任务发以太网数的过程中突然定时中断或串口通信中断发以太网数据导致发送函数返回错误值,不知道这种机理准不准确,在未验证的情况下我把中断发送以太网数据的函数进行了改写,新增了一个8ms周期的任务,在任务中根据各需要UDP发送的数的标志来决定本任务周期要不要发送相应数据,改写完后,能正常发送1s的周期数据,但此时一接收以太网数据,整个系统就奔溃了,表现在freertos 1秒周期的闪灯维持在常量或常灭,由于本人对FREERTOS也不太熟悉(freertos包括4个任务,ethernetif_input任务优先级为osPriorityRealtime,1秒周期任务优先级为osPriorityNormal,主要闪灯和给1s周期性发数使能置位,100ms周期任务用于AD采样,优先级为osPriorityLow6,8ms任务用于发送以太网数据,根据各数据使能情况进行发数,每8ms最多发送两帧以太网数据,优先级为osPriorityLow7),想问下大佬,针对这两个问题有没有解决建议

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2022-12-3 22:57:30 | 显示全部楼层
回复

使用道具 举报

10

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
122
金钱
122
注册时间
2014-11-15
在线时间
17 小时
 楼主| 发表于 2022-12-5 09:30:21 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-24 23:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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