我的外部晶振用的是12MHz的,,主频通过设置为72MHz的,UART1的主频为PCLK2=72Mhz,,,
RCC_HSEConfig(RCC_HSE_ON); /* Enable HSE */
HSEStartUpStatus = RCC_WaitForHSEStartUp(); /* Wait till HSE is ready */
if(HSEStartUpStatus == SUCCESS)
{
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); /* Enable Prefetch Buffer */
FLASH_SetLatency(FLASH_Latency_2); /* Flash 2 wait state */
RCC_HCLKConfig(RCC_SYSCLK_Div1); /* HCLK = SYSCLK */
RCC_PCLK2Config(RCC_HCLK_Div1); /* PCLK2 = HCLK/1*/
RCC_PCLK1Config(RCC_HCLK_Div2); /* PCLK1 = HCLK/2 */
// /* ADCCLK = PCLK2/4 */
// RCC_ADCCLKConfig(RCC_PCLK2_Div4);
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_6); /* PLLCLK = 12MHz * 1/6 = 72 MHz */
RCC_PLLCmd(ENABLE); /* Enable
。。。。
RCC_ADCCLKConfig(RCC_PCLK2_Div8); //72MHz/8=9MHz
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); //HCLK =72MHz
RCC_APB1PeriphClockCmd( RCC_APB1Periph_TIM2,
ENABLE); //PCLK1 =HCLK/2 =36MHz| RCC_APB1Periph_I2C1//RCC_APB1Periph_USART2|
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_ADC1|
RCC_APB2Periph_USART1|RCC_APB2Periph_AFIO, ENABLE); // | PCLK2 =HCLK/1 =72MHz
|