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);
- }
有兴趣的小伙伴可以试验下~
|