標(biāo)題: STM32學(xué)習(xí)之RCC(各個(gè)部件的時(shí)鐘設(shè)置)的設(shè)置 [打印本頁(yè)]
作者: xiaos 時(shí)間: 2015-4-10 17:34
標(biāo)題: STM32學(xué)習(xí)之RCC(各個(gè)部件的時(shí)鐘設(shè)置)的設(shè)置
我這里直接使用庫(kù)函數(shù)來(lái)設(shè)置
void RCC_Configuration()
{
RCC_DeInit();//將RCC寄存器設(shè)置為默認(rèn)值
RCC_HSEConfig(RCC_HSE_ON);//打開(kāi)外部高速晶振
If(RCC_WaitForHSEStartUp()==SUCCESS)//如果外部晶振穩(wěn)定的話(huà)
{
RCC_HCLKConfig(RCC_STSCLK_Div1);//設(shè)置AHB的時(shí)鐘=系統(tǒng)時(shí)鐘
RCC_PCLK2Config(RCC_HCLK_Div1);//設(shè)置APB2的時(shí)鐘=系統(tǒng)時(shí)鐘
RCC_PCLK1Config(RCC_HCLK_Div2);//設(shè)置APB的時(shí)鐘=系統(tǒng)時(shí)鐘/2
FLASH_SetLatency(FLASH_Latency_2);
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);//選擇PLL的時(shí)鐘源和倍頻率
RCC_PLLCmd(ENABLE);//使能PLL
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)== RESET);//檢查PLL是否志位
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);//選擇PLL時(shí)鐘為系統(tǒng)時(shí)鐘
while(RCC_GetSYSCLKSource()!= 0x08);//檢查PPL是否為系統(tǒng)時(shí)鐘
}
}
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |