这个直接抄官网的
官网是96M这里我改成72M,要注意把 rcu_usb_clock_config(RCU_CKUSB_CKPLL_DIV1_5);
这里分频
/* use HXTAL (XD series CK_HXTAL = 8M, CL series CK_HXTAL = 25M) */
//#define __SYSTEM_CLOCK_HXTAL (uint32_t)(__HXTAL)
//#define __SYSTEM_CLOCK_24M_PLL_HXTAL (uint32_t)(24000000)
//#define __SYSTEM_CLOCK_36M_PLL_HXTAL (uint32_t)(36000000)
//#define __SYSTEM_CLOCK_48M_PLL_HXTAL (uint32_t)(48000000)
//#define __SYSTEM_CLOCK_56M_PLL_HXTAL (uint32_t)(56000000)
#define __SYSTEM_CLOCK_72M_PLL_HXTAL (uint32_t)(72000000)
//#define __SYSTEM_CLOCK_96M_PLL_HXTAL (uint32_t)(96000000)
//#define __SYSTEM_CLOCK_108M_PLL_HXTAL (uint32_t)(108000000)
/* enable USB pull-up pin clock */
rcu_periph_clock_enable(RCC_AHBPeriph_GPIO_PULLUP);
/* enable the power clock */
rcu_periph_clock_enable(RCU_PMU);
/* configure USB model clock from PLL clock */
rcu_usb_clock_config(RCU_CKUSB_CKPLL_DIV1_5);
/* enable USB APB1 clock */
rcu_periph_clock_enable(RCU_USBD);
实验结果
GD的USB要是出现无法识别问题,建议到官网下载最新的版本,我就遇到过,GD官方包,能识别一次U盘,后面就无法识别了问题,下载最新版本就好了