凡亿助教-小云
凡事用心,一起进步
打开APP
公司名片
凡亿专栏 | STM32单片机:配置HSE和HSI的时钟频率
STM32单片机:配置HSE和HSI的时钟频率

想让STM32跑得既快又稳,你得先给它配好“心跳”——也就是系统时钟。HSE和HSI是两颗不同的“心脏”,用哪个、怎么调,决定了芯片的性能上限。

QQ截图20251218103206.png

HSI:芯片自带的“内置心脏”

全称高速内部时钟,频率约8MHz(不同系列可能略有差异)。

优点:无需外接元件,上电就能用,成本低。

缺点:精度一般,受温度影响会有轻微飘移。

HSE:外接的“高精度心脏”

全称高速外部时钟,需要你在芯片外部接一个晶振(常见4-26MHz)。

优点:精度高,非常稳定,是高性能和通信功能的基石。

缺点:需要额外成本,多占两个引脚。

一句话选:要求不高、省成本用HSI;要求通信稳定(如USB、串口)、性能高,必须用HSE。

配置核心:倍频与分频

单片机内核通常需要比HSE/HSI本身频率高得多的时钟(比如72MHz、168MHz)。这就需要 PLL(锁相环) 这个“变速齿轮”来实现。

选择时钟源:决定用HSI还是HSE作为系统时钟的源头。

配置PLL:设置“倍频系数”(如HSE 8MHz × 9倍 = 72MHz)。

设置系统时钟:将PLL输出的高速时钟,分配给内核(SYSCLK)。

分配外设时钟:通过“分频器”,为不同外设(如AHB、APB1、APB2总线)分配合适的速度。

傻瓜式配置法:用STM32CubeMX

对于新手,强烈推荐使用ST官方工具 STM32CubeMX 进行图形化配置,简单直观:

在 Clock Configuration 标签页中,你会看到一个时钟树图。

鼠标点点选选,就能轻松选择HSE或HSI作为源,设置PLL倍频数,配置各总线分频。

工具会自动计算并显示最终频率,确保配置有效。

生成代码,所有复杂的底层寄存器设置就自动完成了。

配置要点与注意

先启动,后切换:使能HSE后,需等待其稳定,才能将其设为系统时钟源。

参数匹配:所选的晶振频率,必须在芯片手册允许范围内,且倍频后的频率不得超过芯片的最大主频。

HSE失效处理:在关键应用中,通常会配置时钟安全系统(CSS),一旦HSE故障,能自动切换回HSI,防止系统死机。


本文玩点嵌入式原创文章,转载请注明来源!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表凡亿课堂立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。
相关阅读
进入分区查看更多精彩内容>
精彩评论

暂无评论