|
芯片是STM32L151RB,系统目前没用外部晶振,之前用HSI做系统时钟,把ADC,UART等都跑起来了。
现在要试USB,据说只能用PLL倍频到24M给USB。
结果PLL设置就一直不行,愁死我了。
代码应该很简单,但就是会卡在 while( RCC_GetSYSCLKSource() != 0x0C );
有这样做过的来给提点一下吧,多谢了。
RCC_HSICmd(ENABLE);
/*!< Wait till HSI is ready */
while (RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET);
RCC_PLLCmd(DISABLE);
// set PLLMUX to 16*6, and PLL to 16*6/4
RCC_PLLConfig(RCC_PLLSource_HSI, RCC_PLLMul_6, RCC_PLLDiv_4);
/* PLL enable */
RCC_PLLCmd(ENABLE);
/* wait for PLL stable */
while(RESET == RCC_GetFlagStatus(RCC_FLAG_PLLRDY));
// set PLL as sysclk
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
// Wait for the sysclock to be confirmed as our clock source.
while( RCC_GetSYSCLKSource() != 0x0C );
// Enable USB
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USB, ENABLE);
|
|