STM32F0(1)系统时钟 RCC 的配置
扫描二维码
随时随地手机看文章
// STM32系统默认频率为 HSI -- 8 MHz
// 将系统时钟频率调整为 36Mhz
void Clock_Init(void)
{
// 为了使频率加倍,采用 PLL倍频的方法,PLL如果使用HSI,默认是 HSI / 2 = 4Mhz
RCC->CFGR |= RCC_CFGR_PLLMUL9; // PLL 9 倍频率 -- 4 * 9 = 36MHz
RCC->CFGR &= ~RCC_CFGR_PLLSRC_1; // 选择PLL为时钟输入源 -- HSI / 2
RCC->CFGR |= RCC_CFGR_PPRE_DIV1; // 低速APB1预分频,最高36Mhz
RCC->CFGR |= RCC_CFGR_HPRE_DIV1; // 高速APB2预分频,最高72Mhz
while(((RCC->CR) & RCC_CR_PLLRDY) != RCC_CR_PLLRDY) // 等待 PLL 时钟就绪
RCC->CR |= RCC_CR_PLLON; // PLL 时钟打开
while((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_PLL) // 等待系统时钟切换成功
RCC->CFGR |= RCC_CFGR_SW_PLL; // 系统时钟切换为 PLL
}