一、基础知识及寄存器介绍
二、代码修改
在usb_bsp.c中修改代码
修改后代码:
```c
/**
* @brief USB clock initial
* @param None
* @retval None
*/
static void UsbClockIni(void)
{
stc_clock_pllx_init_t stcUpllInit;
(void)CLK_PLLxStructInit(&stcUpllInit);
stcUpllInit.u8PLLState = CLK_PLLX_ON;
stcUpllInit.PLLCFGR = 0UL;
stcUpllInit.PLLCFGR_f.PLLM = (3UL - 1UL);
stcUpllInit.PLLCFGR_f.PLLN = (84UL - 1UL);
stcUpllInit.PLLCFGR_f.PLLR = (7UL - 1UL);
stcUpllInit.PLLCFGR_f.PLLQ = (7UL - 1UL);
stcUpllInit.PLLCFGR_f.PLLP = (7UL - 1UL); //48M
(void)CLK_PLLxInit(&stcUpllInit);
/* Set USB clock source */
CLK_SetUSBClockSrc(CLK_USBCLK_PLLXP);
}
代码解析,
USB时钟频率需要调整到48M
> 修改前:8M/2*84/7 = 48M
> 修改后:12M/3*84/7 = 48M