2025-08-14 10:04 AM - edited 2025-08-14 10:04 AM
I am trying to get USB High Speed running on my board, In the USB Core Soft Reset function, my code keeps on getting stuck in the do while loop that I have shown below. I have went through all the forum posts related to this and there has been no solution that has resolved this issue. The microcontroller series on this board is STM32U5A5RJT6. I would appreciate any guidance. Thank you!
/* Core Soft Reset */
USBx->GRSTCTL |= USB_OTG_GRSTCTL_CSRST;
do
{
count++;
if (count > HAL_USB_TIMEOUT)
{
return HAL_TIMEOUT;
}
} while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_CSRST) == USB_OTG_GRSTCTL_CSRST);
return HAL_OK;
}