stm32F10系列默认外接 8M ,用固件库函数将HSE配置为系统时钟,学习分享,希望对大家有所帮助!
/*******************************************************************************
* Description :
* Input :
* Output : HSEÅäÖÃϵͳʱÖÓ
* Return :
*******************************************************************************/
void HSESysClk_Config(uint32_t RCC_PLLMul_x)
{
ErrorStatus HSEstatus;
RCC_DeInit(); //¸´Î»ºóºóÐøµÄÅäÖòſÉдµ½¼Ä´æÆ÷
RCC_HSEConfig(RCC_HSE_ON); //
HSEstatus = RCC_WaitForHSEStartUp();
if(HSEstatus == SUCCESS)
{
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); //Ԥȡֵ
FLASH_SetLatency(FLASH_Latency_2);
RCC_HCLKConfig(RCC_SYSCLK_Div1);
RCC_PCLK1Config(RCC_HCLK_Div2);
RCC_PCLK2Config(RCC_SYSCLK_Div1);
RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_x); //ÅäÖÃPLLʱÖÓ ¸ù¾Ý±¶ÆµÒò×ÓÅä
RCC_PLLCmd(ENABLE); //ʹÄÜ PLL
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET); //µÈ´ý×¼±¸ºÃ
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); //ÅäÖÃϵͳʱÖÓΪ PLL
while(RCC_GetSYSCLKSource() != 0x08); //¼ì²âʱÖÓÔ´ 0x08 PLL clock
}
else
{
//Èç¹ûHSEÆô¶¯Ê§°Ü£¬¿É¼Ó´íÎó´¦Àí
}
}