我這里直接使用庫函數(shù)來設(shè)置
void RCC_Configuration() { RCC_DeInit();//將RCC寄存器設(shè)置為默認(rèn)值 RCC_HSEConfig(RCC_HSE_ON);//打開外部高速晶振 If(RCC_WaitForHSEStartUp()==SUCCESS)//如果外部晶振穩(wěn)定的話 { 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í)鐘 } }
|