APM32F030是一款经典的入门级MCU,在很多消费类的产品上都能见到它的身影。在消费类竞争激烈的环境下,就有不少小伙伴想把外部晶振省去,采用内部高速晶振HSI来倍频达到48M的主频。下面我们就快速的看下如何使用APM32F030来实现这一功能
从APM32F030的时钟树我们可以看到
,内部时钟作为PLL的时钟源的话,其实是
HSI/2也就是4M作为PLL的时钟源。
那结合代码就是:
void SystemClock_PLL_Init()
{
/* Select HSI as System Clock at first */
RCM_ConfigSYSCLK(RCM_SYSCLK_SEL_HSI);
/* Disable PLL */
RCM_DisablePLL();
/* Wait until Pll is ready */
while (RCM->CTRL1_B.PLLRDY** == SET);
/* Config PLL source and multiplication factor
SYSCLKFreq = (HSI/2* 12) */
RCM_ConfigPLL(RCM_PLL_SEL_HSI_DIV2, RCM_PLLMF_12);
RCM_ConfigCLKDIV(RCM_CLK_DIV_1);
/* Enable PLL */
RCM_EnablePLL();
/* Selct PLL as Sysclk */
RCM_ConfigSYSCLK(RCM_SYSCLK_SEL_PLL);
}
有兴趣的小伙伴可以试验下~
|