2025-11-08 05:33:47
STM32内部晶振是自带的小时钟,不用外接石英。要让它工作得明白,得先在系统里开三件事:第一,给时钟树打勾;第二,给时钟源开灯;第三,调好分频系数。比如STM32F1的内部晶振默认8MHz,但系统跑起来要48MHz,所以得让HCLK分频器除以1,这样就能稳稳当当地当主时钟使。
为什么得这么弄?因为时钟是所有操作的节拍器,要是没开对,芯片就像没带手表的人,啥都乱套。比如时钟树没开,芯片根本不知道哪个模块能用时钟;时钟源没开,就像关了总闸,再好的灯也亮不起来;分频系数不对,比如HCLK要48MHz但分了12,那芯片每秒只跳4次,系统肯定卡成PPT。根据《STM32参考手册》第A.4.1节,内部振荡器起振需要至少2ms,所以上电后得先等它缓一缓才能用。要是漏了这步,芯片可能直接死机。还要注意,不同型号的内部晶振频率可能不一样,比如F4是48MHz,F7是27MHz,调分频的时候要根据手册来。
本题链接: