我这里直接使用库函数来设置
void RCC_Configuration() { RCC_DeInit();//将RCC寄存器设置为默认值 RCC_HSEConfig(RCC_HSE_ON);//打开外部高速晶振 If(RCC_WaitForHSEStartUp()==SUCCESS)//如果外部晶振稳定的话 { RCC_HCLKConfig(RCC_STSCLK_Div1);//设置AHB的时钟=系统时钟 RCC_PCLK2Config(RCC_HCLK_Div1);//设置APB2的时钟=系统时钟 RCC_PCLK1Config(RCC_HCLK_Div2);//设置APB的时钟=系统时钟/2 FLASH_SetLatency(FLASH_Latency_2); FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);//选择PLL的时钟源和倍频率 RCC_PLLCmd(ENABLE);//使能PLL while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)== RESET);//检查PLL是否志位 RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);//选择PLL时钟为系统时钟 while(RCC_GetSYSCLKSource()!= 0x08);//检查PPL是否为系统时钟 } }
|