STM32 RCC配置
/* ---------------------函數(shù)實(shí)體--------------------------------*/
/*******************************************************************************
* 函數(shù)名稱: RCC_Configuration
* 函數(shù)功能: 設(shè)置系統(tǒng)各部分時(shí)鐘
* 參數(shù)變量: NONE
* 全局變量: NONE
* 調(diào)用函數(shù):
* 修改時(shí)間:
* 版 本: V1.0
* 狀 態(tài):調(diào)試完成
*******************************************************************************/
void RCC_Configuration(void)
{
RCC_DeInit(); //復(fù)位系統(tǒng)時(shí)鐘設(shè)置
RCC_HSEConfig(RCC_HSE_ON); // 開啟HSE
HSEStartUpStatus = RCC_WaitForHSEStartUp(); //等待HSE 起振并穩(wěn)定
//判斷HSE 起是否振成功,是則進(jìn)入 if()內(nèi)部
if(HSEStartUpStatus == SUCCESS)
{
RCC_HCLKConfig(RCC_SYSCLK_Div1); // 選擇HCLK(AHB)時(shí)鐘源為SYSCLK 1 分頻
RCC_PCLK2Config(RCC_HCLK_Div1); // 選擇PCLK2 時(shí)鐘源為 HCLK(AHB) 1分頻
RCC_PCLK1Config(RCC_HCLK_Div2);// 選擇PCLK1 時(shí)鐘源為 HCLK(AHB) 2分頻
FLASH_SetLatency(FLASH_Latency_2);//設(shè)置FLASH 延時(shí)周期數(shù)為2
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); //使能FLASH 預(yù)取緩存
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);//選擇鎖相環(huán)(PLL)時(shí)鐘源為HSE 1 分頻,倍頻數(shù)為 9,則 PLL輸出頻率為 8MHz* 9 = 72MHz
RCC_PLLCmd(ENABLE); //使能PLL
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);//等待PLL輸出穩(wěn)定
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);//選擇SYSCLK 時(shí)鐘源為PLL
while(RCC_GetSYSCLKSource() != 0x08);//等待PLL成為 SYSCLK時(shí)鐘源
}
}
評論