我正在使用PLL板,我正在尝试配置系统时钟以使用STM32L152RB时钟,但是RCC_FLAG_PLLRDY标志被设置,因此程序被困在while循环中。请允许我做错的事
EnableHSI();
RCC_PLLConfig(RCC_PLLSource_HSI,RCC_PLLMul_3,RCC_PLLDiv_2);
RCC_PLLCmd(ENABLE);
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
RCC_SYSCLKConfig( RCC_SYSCLKSource_PLLCLK);
t=GetSystemClockSource();
发布于 2015-07-20 03:10:48
请参阅参考手册,了解“CPU时钟频率与闪存读取时间之间的关系”。它说明了对于高于16 the的CPU速度,您应该将闪存延迟设置为1WS (等待状态)。在将PLL设置为时钟源之前,如下所示:
FLASH->ACR = FLASH_ACR_ACC64; // 64-bit access
FLASH->ACR |= FLASH_ACR_LATENCY; // one wait state
FLASH->ACR |= FLASH_ACR_PRFTEN; // prefetch enable
https://stackoverflow.com/questions/31407505
复制相似问题