使用STM32CubeMx5.21搭建完成程序,网络ping不通,查看DMABMR->SR没有自动清0。分析HAL_ETH_Init()函数,程序等待DMABMR->SR复位,但DMABMR->SR寄存器不自动清0,超时返回,没有执行MAC Initialization部分程序,MAC没进行初始化设置,以太网无法工作。
解决办法:
将HAL_ETH_Init()中/* Wait for software reset */部份程序注释或者改return为break,程序运行后DMABMR->SR就能自动置零。(why?)网络启动,能拼通。
本文地址:https://blog.csdn.net/Gandalf94/article/details/109644707