本帖最后由 南来之风 于 2024-9-8 13:04 编辑
使用cubeide新建一个空白工程。时钟配置:
RCC:
调试运**住第二个循环判断处:
- /**
- * [url=home.php?mod=space&uid=247401]@brief[/url] Reset the USB Core (needed after USB clock settings change)
- * @param USBx Selected device
- * @retval HAL status
- */
- static HAL_StatusTypeDef USB_CoreReset(USB_OTG_GlobalTypeDef *USBx)
- {
- __IO uint32_t count = 0U;
- /* Wait for AHB master IDLE state. */
- do
- {
- count++;
- if (count > HAL_USB_TIMEOUT)
- {
- return HAL_TIMEOUT;
- }
- } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_AHBIDL) == 0U);
- /* Core Soft Reset */
- count = 0U;
- 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;
- }
有没有大佬遇到类似的问题?谢谢
|