STM32F334系统时钟的配置RCC_Config()
扫描二维码
随时随地手机看文章
MCU:STM32F334C8T6
Frameware:STM32F3348-Discovery_FW_V1.0.0
RCC时钟配置步骤:
重置RCC为默认值:RCC_DeInit(); 库函数中可以查到这个函数选择HSI为系统时钟(见图)
打开外部高速时钟晶振HSE
等待HSE工作
设置AHB时钟
设置高速APB(2)时钟
设置低速APB(1)时钟
设置PLL
打开PLL
等待PLL工作
设置系统时钟
等待系统时钟设置成功
打开所需时钟
代码:
voidRCC_Config(void)
{
//1.默认设置,HSI为系统时钟:8M
RCC_DeInit();
//2.打开HSE:8M
RCC_HSEConfig(RCC_HSE_ON);
//3.等待
RCC_WaitForHSEStartUp();
//4.设置AHB=SYSCLK
RCC_HCLKConfig(RCC_SYSCLK_Div1);
//5.设置APB2=AHB
RCC_PCLK2Config(RCC_HCLK_Div1);
//6.设置APB1=AHB/2
RCC_PCLK1Config(RCC_HCLK_Div2);
//7.设置PLL,Source=8M,PLLMul=9
RCC_PLLConfig(RCC_PLLSource_PREDIV1,RCC_PLLMul_9);
//8.打开PLL
RCC_PLLCmd(ENABLE);
//9.等等PLL就绪
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET);
//10.设置系统时钟SYSCLK=PLLCLK=8*9=72M
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
//11.等待设置成功
while(RCC_GetSYSCLKSource()!=0x08);
//12.打开使用的时钟
//..............
}
设置完成,系统时钟 :SYSCLK=72M,AHB: HCLK=72M,APB2:PCLK2=72M,PAB1:PCLK1=36M
附图:
STM32F334xx时钟树: