股票

STM32频率修改、降频和超频

参考文章:stm32笔记:记一次超频

代码:

  1. // sys = HSE * RCC_PLLMul_x
  2. void HSE_Init(uint32_t RCC_PLLMul_x)
  3. {
  4.     ErrorStatus HSEStatus;
  5.     RCC_DeInit();
  6.     RCC_HSEConfig(RCC_HSE_ON);
  7.     HSEStatus=RCC_WaitForHSEStartUp();
  8.     if(HSEStatus==SUCCESS)
  9.     {
  10.         //FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
  11.         //FLASH_SetLatency(FLASH_Latency_2);
  12.         RCC_HCLKConfig( RCC_SYSCLK_Div1 );
  13.         RCC_PCLK1Config( RCC_HCLK_Div2 );
  14.         RCC_PCLK2Config( RCC_HCLK_Div1 );
  15.         RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_x);
  16.         RCC_PLLCmd(ENABLE);
  17.         while( RCC_GetFlagStatus( RCC_FLAG_PLLRDY) == RESET);
  18.         RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK );
  19.         while(RCC_GetSYSCLKSource()!=0x08);
  20.     }
  21.     else
  22.     {
  23.         //LED_R_ON();
  24.     }
  25. }

系统主频等于外部晶振频率*倍频系数。

调用时:

HSE_Init(RCC_PLLMul_15);
RCC_MCOConfig(RCC_MCO_SYSCLK);

其中RCC_PLLMul_15可以选择1-16,想要更高的频率需要更换更大的晶振。

打赏
原文链接:,转发请注明来源!

发表评论