STM32 时钟系统

STM32的时钟系统包括5个时钟源:HSI、HSE、LSI、LSE和PLL。系统时钟SYSCLK可选HSI、HSE或PLL时钟,MCO可以输出不同时钟信号。在SystemInit()中,系统时钟默认配置为72MHz,AHB、APB1和APB2总线时钟也相应设定。配置时钟对STM32外设使用至关重要。

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

STM32 时钟系统

这两天一直跟着原子哥学习stm32的基础知识,现针对stm32的时钟系统做出总结,如有错误请见谅。

stm32时钟系统图:

img

1.stm32有5个时钟源:

​ ①HSI:高速内部时钟、RC振荡器,频率为8MHz

​ ②HSE:高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为 4MHz~16MHz。

​ ③LSI:低速内部时钟、RC振荡器,频率为 40kHz,独立看门狗的时钟源只能是LSI时钟源。

​ ④LSE:低速外部时钟,主要是RTC的时钟源。

​ ⑤PLL:锁相环倍频输出,时钟输入源可以选择HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是输出频率最大不能超过72MHz。

2.系统时钟SYSCLK可来源于三个时钟源:

​ 1)HSI振荡器时钟

​ 2)HSE振荡器时钟

​ 3)PLL时钟

3.MCO是stm32的一个时钟输出IO(PA8),他可以选择一个时钟信号输出,PLL输出的2分频、HSI、HSE、或者系统时钟。

4.任何一个外设在使用之前,必须首先使能相应的时钟。

总结:

SystemInit()是stm32时钟系统的配置的初始化函数,对于系统时钟,默认情况下是在SystemInit()函数的SetSysClock()函数中间判断的,设置是通过宏定义设置的。

SystemInit()函数中设置的系统时钟大小:

SYSCLK(系统时钟) = 72MHz

AHB总线时钟(使用SYSCLK) = 72MHz

APB1总线时钟(PCLk1) = 36MHz

APB2总线时钟(PCLK2) = 72MHz

APB2总线时钟(PCLK2) = 72MHz

PLL时钟 = 72MHz

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值