我正在使用
STM32H743 µC(使用 STM32H743I-EVAL2 板)开发 USB 主机应用程序(MSC/全速)
当使用 PLL3Q 作为时钟源时,应用程序工作正常。
但是当我使用 PLL1Q 或 RC48 作为时钟源时,USB“核心软复位”超时:
- OTG->GRSTCTL |= USB_OTG_GRSTCTL_CSRST; // Core soft reset
- // Wait Core reset to finish, max 100 ms
- tout_ms = 100U;
- while ((OTG->GRSTCTL & USB_OTG_GRSTCTL_CSRST) != 0U) {
- if (tout_ms == 0U) {
- return ARM_DRIVER_ERROR_tiMEOUT;
- }
- tout_ms--;
- HAL_Delay(1U);
- }
- HAL_Delay(1U);
我将 RC48 映射到 MCO1 以检查是否有 48MHz 输出,确实如此。
我检查了 RCC/USB 寄存器,但没有发现任何可疑之处。
有谁知道这里出了什么问题?