参考文章:stm32笔记:记一次超频
代码:
- // sys = HSE * RCC_PLLMul_x
- void HSE_Init(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_HCLK_Div1 );
- RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_x);
- RCC_PLLCmd(ENABLE);
- while( RCC_GetFlagStatus( RCC_FLAG_PLLRDY) == RESET);
- RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK );
- while(RCC_GetSYSCLKSource()!=0x08);
- }
- else
- {
- //LED_R_ON();
- }
- }
系统主频等于外部晶振频率*倍频系数。
调用时:
HSE_Init(RCC_PLLMul_15);
RCC_MCOConfig(RCC_MCO_SYSCLK);
其中RCC_PLLMul_15可以选择1-16,想要更高的频率需要更换更大的晶振。