原文地址:RCC配置作者:liuzhangchao

这时一张借鉴的STM32的时钟框图,简单明了。

[转载]RCC配置

为了方便和容易理解,自己做的一个RCC的配置流程,右边是对应的STM32库函数。


[转载]RCC配置




配置时钟:APB2(72MHZ) APB1(36MHZ)

void RCC_CONFIG(void)
{
//将RCC寄存器重新设置为默认值
RCC_DeInit(); 
//打开外部高速时钟晶振HSE  
RCC_HSEConfig(RCC_HSE_ON);
//等待外部高速时钟晶振工作 
while( ERROR == RCC_WaitForHSEStartUp());
//设置AHB时钟AHB clock = SYSCLK 
RCC_HCLKConfig(RCC_SYSCLK_Div1); 
//设置高速AHB时钟 APB2 clock = HCLK 
RCC_PCLK2Config(RCC_HCLK_Div1);
//设置低速AHB时钟 APB1 clock = HCLK/2 
RCC_PCLK1Config(RCC_HCLK_Div2);
// 设置PLL 时钟源为HSE 倍频系数为9  
RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9); 
// 打开PLL 
RCC_PLLCmd(ENABLE);
// 等待PLL工作
while(RESET ==  RCC_GetFlagStatus(RCC_FLAG_PLLRDY) );
// 设置系统时钟   RCC_SYSCLKSource_XX    可选( PLLCLK  HSI  HSE )  
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); 
 // 判断是否PLL是系统时钟 
while(RCC_GetSYSCLKSource() != 0x08);

}


相关文章: