void RCC_Configuration(void)
{
//---------------------------------------------------------------
//-------------------------------使用外部晶振,并等待外部晶振起振
RCC_HSEConfig(RCC_HSE_ON);//配置外部高速晶振
RCC_WaitForHSEStartUp();//等待外部高速晶振起振
//---------------------------------------------------------------
//----------------------------采用外部高速晶振做PLL源,并配置PLL
RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9); //PLL配置
RCC_PLLCmd(ENABLE);//PLL使能
//---------------------------------------------------------------
//---------------------------------------------------配置总线频率
RCC_HCLKConfig(RCC_SYSCLK_Div1);//设置AHB时钟
RCC_PCLK1Config(RCC_HCLK_Div2);//设置APB1时钟
RCC_PCLK2Config(RCC_HCLK_Div1);//设置APB2时钟
//---------------------------------------------------------------
//-------------------------------------------------系统时钟初始化
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);//系统时钟初始化
//---------------------------------------------------------------
//-------------------------------------------总线上外设时钟初始化
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA
|RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC
|RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE
|RCC_APB2Periph_ADC1 | RCC_APB2Periph_AFIO
|RCC_APB2Periph_SPI1, ENABLE );
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4 | RCC_APB1Periph_USART2
|RCC_APB1Periph_USART3|RCC_APB1Periph_TIM2
, ENABLE );
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);
}
|