/**********************************************************************
* 名 称:void RCC_HSEConfiguration(void)
* 功 能:使用HSI作为主时钟,然后经过倍频PLL=36MHz
* 入口参数:无
* 出口参数:
-----------------------------------------------------------------------
* 说 明:
***********************************************************************/
void RCC_HSIConfiguration(void)
{
RCC_DeInit();
RCC_HSICmd(ENABLE);
while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET);
RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);
RCC_HSEConfig(RCC_HSE_OFF);
RCC_LSEConfig(RCC_LSE_OFF);
RCC_PLLConfig(RCC_PLLSource_HSI_Div2,RCC_PLLMul_9); // PLL为 36HMz
RCC_PLLCmd(ENABLE);
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
RCC_ADCCLKConfig(RCC_PCLK2_Div4);
RCC_PCLK2Config(RCC_HCLK_Div1);
RCC_PCLK1Config(RCC_HCLK_Div2);
RCC_HCLKConfig(RCC_SYSCLK_Div1);
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
while(RCC_GetSYSCLKSource() != 0x08);
// RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB
// | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD
// | RCC_APB2Periph_AFIO, ENABLE);
// RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 |RCC_APB2Periph_ADC1 , ENABLE);
// RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
}
|