STM32 Ethernet ping不通,DMABMR->SR寄存器不自动清0
程序员文章站
2022-03-11 15:34:25
使用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,程序运行后D...
使用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