標(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