STM32H743 以太网配置为RMII接口时,调用HAL_ETH_Init(ETH_HandleTypeDef *heth)函数能正常返回。
如果改成:MII接口后,调用HAL_ETH_Init函数就会返回错误。仿真确定是软件复位超时。
并且,在其他什么都不变的情况下,我只需要将heth.Init.MediaInterface = HAL_ETH_MII_MODE;修改为heth.Init.MediaInterface = HAL_ETH_RMII_MODE;就不错返回错误。
/* Wait for software reset */
while (READ_BIT(heth->Instance->DMAMR, ETH_DMAMR_SWR) > 0U)
{
if (((HAL_GetTick() - tickstart) > ETH_SWRESET_TIMEOUT))
{
/* Set Error Code */
heth->ErrorCode = HAL_ETH_ERROR_TIMEOUT;
/* Set State as Error */
heth->gState = HAL_ETH_STATE_ERROR;
/* Return Error */
return HAL_ERROR;
}
}
请问有没有大佬知道是怎么回事?