stm32配置高速时钟
# stm32配置高速时钟
在使用STM32的某款芯片时经常能看到最高系统时钟频率为某个值,比如我使用的STM32F401最高主频可以到84MHz,但是这需要手动配置,stm32默认的系统时钟是HSI(高速内部时钟),F4系列的HSI频率为16MHz。我在做无人机姿态解算时总感觉频率不够快查了查才发现一直用的HSI即16Mhz的频率作为主频。
# STM32系统时钟树
先来看一下系统时钟树,可以帮助我们更好的理解各个时钟源和总线之间的关系。(高清图在最后)

红圈处即为主频,他有三个来源:HSI(高速内部时钟),HSE(高速外部时钟),PLLCLK(锁相环倍频输出)。
F4系列中HSI的频率为16Mhz,HSE的频率为8Mhz,PLLCLK可以根据我们的需要自己配置。
蓝圈处即为PLLCLK的配置方法,需要选择PLL的输入源(HSI或HSE),进行M分频,N倍频,P分频后就可以得到主频了。Q是用来指定OTG FS, SDIO 和 RNG时钟的分频系数,我的工程里未涉及到这三个外设所以给的0。
得到主频后可以看到右面就可以配置右面外设总线的频率了。一般AHB和APB1的总线频率不能超过主频最高频率,APB2不能超过主频最高频率的一半。不过也可以尝试主频超频使用得到更高的频率,没用过不知道不建议。
上次更新: 2025/11/2 06:53:08