STM32时钟详解

本文详细介绍了STM32的时钟树结构,包括外部时钟、内部时钟源,以及从HSE到系统时钟的配置过程。通过举例阐述了如何设置不同分频器和倍频器来优化功耗,并提供了手动配置32MHz时钟的库函数示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

STM32陆陆续续把基础的部分学完了,但对于时钟一直一知半解。

今天开始陆陆续续补充关于时钟部分的知识。

一、时钟树

STM32为了实现低功耗,而设计的功能完善构成复杂的时钟系统,称之时钟树。使外设功能的时钟可自配置。因为STM32外设众多,而不同的项目用到的外设参差不齐,所以可控的时钟可以实现降低产品功耗。

所有的外设在使用之前都必须设置时钟信号,才可以正常工作。以STM32F103C8T6时钟树为例,如下图所示:

STM32的四个时钟源

 外部时钟

  • 高速外部时钟(HSE):外部时钟源,晶振频率可取范围为4~16MHz,我们一般采用8MHz的晶振。
  • 低速外部时钟(LSE):外部时钟源,主要提供给实时时钟模块,所以一般采用32.768KHz。

内部时钟

  • 高速内部时钟(HSI):由内部RC振荡器产生,频率为8MHz,但不稳定。
  • 低速内部时钟(LSI):由内部RC振荡器产生,也主要提供给实时时钟模块,频率大约为40KHz

大置过程:

  • 8M时钟遇到第一个分频器PLLXTPRE,也就是HSE后面的第一个节点,我们一般不分频。(若为HSI则必须分频2倍)
  • 时钟来到PLL Source Mux,可选输入的时钟信号有外部高速时钟(HSE)和内部高速时钟(HSI),选择HSE。
  • 接着信号走到锁相环
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值