[STM32F7] 未接网线先上电,再接网线也不工作

[复制链接]
105|28
Jacquetry 发表于 2026-9-14 14:15 | 显示全部楼层
你这个问题我以前也遇到过,解决办法是启用HAL库的PHY链路状态中断,这样就能实时感知到链路变化了。记得检查中断优先级和分组配置,别让中断处理太耗时。
EchoInSilence 发表于 2026-9-15 15:42 | 显示全部楼层
先确认PHY中断是否配置正确,然后轮询检测LINK状态,一旦恢复就重新启动协商。
光影捕手 发表于 2026-9-16 18:53 | 显示全部楼层
建议在ETH状态变化中断中添加自动协商重置,确保每次网线插拔后都能重新进行协商。
彩虹彼岸 发表于 2026-9-17 12:40 | 显示全部楼层
轮询检测LINK状态,定期调用ethernetif_update_config确保恢复。
xinxianshi 发表于 2026-9-17 16:33 | 显示全部楼层
设备上电初始化时,PHY(以太网物理层芯片)只做一次链路协商,上电时网线没插上,协商失败;后续再插网线,设备不会自动重新触发链路协商,所以网口灯不亮、网络不生效,常见于单片机 / 嵌入式设备,Windows 电脑也会偶尔出现网卡节能导致类似现象。
遗忘领域 发表于 2026-9-18 15:04 | 显示全部楼层
网线未插时先上电,可能导致PHY芯片复位。可以尝试在HAL库中配置PHY的复位和自动协商流程,确保在网线插入后再启动协商。同时,定期轮询PHY的LINK状态,发现链路恢复后触发恢复流程。
天天向善 发表于 2026-9-20 18:34 | 显示全部楼层
可能原因:电源启动时瞬间电流冲击,损坏了网卡或路由器。
风之呢喃 发表于 2026-9-20 14:04 | 显示全部楼层
建议你检查PHY中断是否启用,如果未启用,可以考虑启用中断来触发链路变化检测,这样可以更及时地响应链路恢复。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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