STM32
直播中

云达贞

8年用户 939经验值
私信 关注
[问答]

STM32时钟系统基础知识总结

STM32时钟系统有几个时钟源?

STM32系统时钟SYSCLK可来源于几个时钟源?

回帖(1)

黄明光

2021-9-26 10:50:26
  STM32 时钟系统
  这两天一直跟着原子哥学习stm32的基础知识,现针对stm32的时钟系统做出总结,如有错误请见谅。
  stm32时钟系统图:
  
  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
举报

更多回帖

发帖
×
20
完善资料,
赚取积分