RCC (Reset and Clock Control)
这里介绍 RCC 的 时钟控制功能
在 STM32F103 上,由于小组所有的板子都使用用 同样的芯片,同样的晶振,以及同
样的库函数,即使我们不去理解 RCC,仍然可以将大多数功能调试出来。但如果使用不同
型号的芯片,例如用 STM32F407 与 STM32103 进行通信,如果不去弄清楚 RCC,在调试
中可能会遇到麻烦。
下面就我调试 STM32F407 的这段时间,介绍一下 RCC 的部分功能。文档的前半部分
是关于 RCC 的部分功能描述,后半部分是关于库函数的使用。
时钟结构
(原图请参考 STM32F407 参考手册 RCC 部分)
STM32F407 最高层是 SYSCLK 系统时钟,由其生成了 AHB 时钟,再由 AHB 时钟生
成 APB 时钟。
SYSCLK 系统时钟可以由 3 个基本的时钟源获得:HSE(外部高速晶振)或 HSI(内部
高速晶振)或 PLL 锁相环倍频。
例如:
板子上焊了 8MHz 的晶振,则 HSE = 8MHz。如果焊了 25MHz 的,则 HSE = 25MHz。
HSI 是芯片内部自带的晶振,其大小由芯片型号决定,如 STM32F407 的 HSI 是 16MHz。
PLL 倍频的功能是:将 HSE 或 HSI 的频率放大,最大可以放大到 168MHz.