Question
STMH7 ETH_DMAMR_SWR fails
Hey,
i got a specific Problem with the STM32H7 Ethernet, sometimes when performing
SET_BIT(heth->Instance->DMAMR, ETH_DMAMR_SWR);
/* Get tick */
tickstart = HAL_GetTick();
/* Wait for software reset */
uint8_t force_reset = 0;
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;
break;
}
}The error gets detectet, so ETH_DMAMR_SWR doesnt get activated within this timeout period. Is there aother way to reset the ETH Controller except from restarting the whole mcu?
I tried __HAL_RCC_ETH1MAC_FORCE_RESET but it didnt work out.
