时钟
STM32为了实现低功耗, 外设的时钟默认关闭, 需要使用外设时, 编程设置时钟信号才能正常工作.
Tips: EXTI的时钟默认打开
缩写
RCC: Reset and Clock Control 复位和时钟控制
HSE: High Speed Exernal clock signal 高速外部时钟信号
HSI: High Speed Internal clock signal 高速内部时钟信号
LSE: Low Speed External clock signal 低速外部时钟信号
LSI: Low Speed Internal clock signal 低速内部时钟信号
AHB: Advanced High performance Bus 高级高性能总线
APB: Advanced Peripheral Bus 高级外围总线
PLLCLK: Phase Locked Loop Clock 锁相环时钟
SYSCLCK: System Clock 系统时钟
分析
这是以库函数时钟系统函数SetSysClockTo72()的编程流程解析
时钟树框图 + 手残画法 如下
解析:
- HSE振荡器输入8Mhz不分频走入PLLXTPRG, 再经过PLLSRC
- 在PLLMUL倍频中选择x9得到72MHz, SW选择PLLCLK, PLLCLK=72MHz
- AHB预分频器选择/1得到72MHz, 从此进入不同线路的外设
- 由于PCLK1的最大输入时钟是36MHz, 所以APB1预分频器选择/2=36MHz
- 由于APB1的预分频系数=1, 所以TIMXCLK的时钟输入为x2=72MHz
- 由于PCLK2的最大输入为72MHz, 则APB2的预分频器选择为/1=72MHz
以此类推…
SHOUT OUT TO
STM32 F103 时钟树详解