现在的位置: 首页 > 综合 > 正文

stm32系统时钟配置函数

2013年09月02日 ⁄ 综合 ⁄ 共 1252字 ⁄ 字号 评论关闭
  1. /**************************************************************************** 
  2.  * 
  3.  * 名称:  RCC_Configuration 
  4.  * 
  5.  * 描述:  设置系统时钟 
  6.  * 
  7.  * 返回:  无 
  8.  * 
  9.  ****************************************************************************/  
  10. void RCC_Configuration(void)  
  11. {  
  12.     ErrorStatus HSEStartUpStatus;     
  13.   
  14.     RCC_DeInit();                       //RCC复位
      
  15.     RCC_HSEConfig(RCC_HSE_ON);              //使能外部时钟 
      
  16.     HSEStartUpStatus = RCC_WaitForHSEStartUp();     //等待外部时钟就绪
      
  17.   
  18.     if(HSEStartUpStatus == SUCCESS)  
  19.     {  
  20.         FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);   //预取址缓存使能
      
  21.         FLASH_SetLatency(FLASH_Latency_2);          //FLASH存储器延迟2周期
      
  22.         RCC_HCLKConfig(RCC_SYSCLK_Div1);            //设置AHB时钟为系统时钟
      
  23.         RCC_PCLK2Config(RCC_HCLK_Div1);             //设置高速时钟为AHB时钟 
      
  24.         RCC_PCLK1Config(RCC_HCLK_Div2);             //设置低速时钟为AHB时钟2分频
      
  25.    
  26.         RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);    //设置PLL为72M
      
  27.         RCC_PLLCmd(ENABLE);                 //使能PLL
      
  28.         while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)  //等待PLL
      
  29.         {  
  30.         }  
  31.         RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);      //设置PLL为系统时钟
      
  32.         while(RCC_GetSYSCLKSource() != 0x08)            //等待设置完成
      
  33.         {  
  34.         }  
  35.     }  
  36. }  

抱歉!评论已关闭.