学习下stm32 配置 HSI作为系统时钟,但意义不大,一般不这样做!

stm32 配置 HSI作为系统时钟,意义不大,一般不这样做!


/*******************************************************************************

* Function Name  :  HSESysClk_Config
* Description    : 
* Input          :  
* Output         :   HSEÅäÖÃϵͳʱÖÓ
* Return         : 
*******************************************************************************/
void HSISysClk_Config(uint32_t RCC_PLLMul_x)
{
__IO uint32_t   HSIstatus=0;

        RCC_DeInit();   //¸´Î»ºóºóÐøµÄÅäÖòſÉдµ½¼Ä´æÆ÷
RCC_HSICmd(ENABLE);    //
HSIstatus= RCC_WaitForHSEStartUp();    

if(HSIstatus== 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);   
RCC_PLLCmd(ENABLE);  //ʹÄÜ PLL

while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET); 
 
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
 
    while(RCC_GetSYSCLKSource() != 0x08);     //¼ì²âʱÖÓÔ´  0x08  PLL clock
}
else
{
//Èç¹ûHSEÆô¶¯Ê§°Ü£¬¿É¼Ó´íÎó´¦Àí
  }

}


最大64M.



时钟树一定要熟悉!!

猜你喜欢

转载自blog.csdn.net/qq_31151059/article/details/78811917