STM32F334系統(tǒng)時鐘的配置RCC_Config()
MCU:STM32F334C8T6
Frameware:STM32F3348-Discovery_FW_V1.0.0
RCC時鐘配置步驟:
重置RCC為默認值:RCC_DeInit(); 庫函數中可以查到這個函數選擇HSI為系統(tǒng)時鐘(見圖)
打開外部高速時鐘晶振HSE
等待HSE工作
設置AHB時鐘
設置高速APB(2)時鐘
設置低速APB(1)時鐘
設置PLL
打開PLL
等待PLL工作
設置系統(tǒng)時鐘
等待系統(tǒng)時鐘設置成功
打開所需時鐘
代碼:
voidRCC_Config(void)
{
//1.默認設置,HSI為系統(tǒng)時鐘: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.設置系統(tǒng)時鐘SYSCLK=PLLCLK=8*9=72M
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
//11.等待設置成功
while(RCC_GetSYSCLKSource()!=0x08);
//12.打開使用的時鐘
//..............
}
設置完成,系統(tǒng)時鐘 :SYSCLK=72M,AHB: HCLK=72M,APB2:PCLK2=72M,PAB1:PCLK1=36M
附圖:
STM32F334xx時鐘樹: