[STM32F4] STM32F407以太网在驱动层发送函数中等不到HAL解锁造成死循环咋办?

[复制链接]
1951|32
 楼主| 两只袜子 发表于 2023-5-6 10:01 | 显示全部楼层 |阅读模式
芯片STM32F407ZGT6,RTT版本4.0.4。
问题描述
用tcp方式跟上位机建立长连接,心跳包10s一次,每次上电时通信正常,过10至20分钟之后,突然卡死,运行灯停止闪烁,没有任何错误日志。进入调试模式发现卡死在rt_stm32_eth_tx()函数中等待解锁的死循环中:
while (EthHandle.Lock == HAL_LOCKED),一直没找到解决方法。
请问有大佬遇到过这个情况吗?或者帮忙分析下可能的问题原因?
404116455b50f74a49.png
我吃小朋友 发表于 2023-5-9 20:38 | 显示全部楼层
可能是因为你的程序在每次连接建立时都发送了错误的心跳包,检查你的程序是否正确地发送了心跳包,并且在发送之前是否等待了正确的时间间隔
她已醉 发表于 2023-5-9 21:45 | 显示全部楼层
是不是在某个地方陷入了死循环

Undshing 发表于 2023-5-9 22:12 | 显示全部楼层
server有没有问题
将爱藏于深海 发表于 2023-5-9 22:18 | 显示全部楼层
这图片也看不清楚啊

春日负喧 发表于 2023-5-9 23:42 | 显示全部楼层
看看硬件,硬件有问题也会这样

温室雏菊 发表于 2023-5-10 01:22 | 显示全部楼层
是不是受其他软件影响了?

故意相遇 发表于 2023-5-10 04:21 | 显示全部楼层
检查网络,有没有大量数据传输
西洲 发表于 2023-5-10 07:52 | 显示全部楼层
编程错误也有可能出现这种情况

一只眠羊 发表于 2023-5-10 09:15 | 显示全部楼层
检查中断处理程序的日志,了解问题所在,重启中断处理程序或修改中断处理程序的代码以解决问题

月亮一键变蓝 发表于 2023-5-10 11:33 | 显示全部楼层
修改一下程序的代码,或者升级硬件和软件看看呢

在曼谷的春 发表于 2023-5-10 13:21 | 显示全部楼层
看看是不是数据传输不稳定或中断,查物理层设备的连接状态,重启设备,或者更换设备

wenfen 发表于 2023-5-11 22:28 | 显示全部楼层
可能是因为你的程序在每次连接建立时都发送了错误的心跳包,检查你的程序是否正确地发送了心跳包
wenfen 发表于 2023-5-11 22:32 | 显示全部楼层
并且在发送之前是否等待了正确的时间间隔
huanghuac 发表于 2023-5-11 22:34 | 显示全部楼层
是不是在某个地方陷入了死循环?
spark周 发表于 2023-5-11 22:36 | 显示全部楼层
server有没有问题
liliang9554 发表于 2023-5-11 22:37 | 显示全部楼层
这图片也看不清楚啊
stly 发表于 2023-5-11 22:39 | 显示全部楼层
看看硬件,硬件有问题也会这样
gongche 发表于 2023-5-11 22:40 | 显示全部楼层
是不是受其他软件影响了?
huanghuac 发表于 2023-5-11 22:41 | 显示全部楼层
检查网络,有没有大量数据传输
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2122

主题

8121

帖子

11

粉丝
快速回复 在线客服 返回列表 返回顶部