第16章 RCC—使用 HSE/HSI 配置时
钟
本章参考资料:《STM32F4xx 中文参考手册》 RCC 章节。
学习本章时,配合《STM32F4xx 中文参考手册》 RCC 章节一起阅读,效果会更佳,特
别是涉及到寄存器说明的部分。
RCC : reset clock control 复位和时钟控制器。本章我们主要讲解时钟部分,特别是要
着重理解时钟树,理解了时钟树, F407 的一切时钟的来龙去脉都会了如指掌。
16.1 RCC 主要作用—时钟部分
设置系统时钟 SYSCLK、设置 AHB 分频因子(决定 HCLK 等于多少) 、 设置 APB2
分频因子(决定 PCLK2 等于多少)、设置 APB1 分频因子(决定 PCLK1 等于多少)、设
置各个外设的分频因子;控制 AHB、 APB2 和 APB1 这三条总线时钟的开启、控制每个外
设的时钟的开启。对于 SYSCLK、 HCLK、 PCLK2、 PCLK1 这四个时钟的配置一般是:
HCLK = SYSCLK=PLLCLK = 168M, PCLK1=HCLK/2 = 84M, PCLK1=HCLK/4 = 42M。
这个时钟配置也是库函数的标准配置,我们用的最多的就是这个。
16.2 RCC 框图剖析—时钟树
时钟树单纯讲理论的话会比较枯燥,如果选取一条主线,并辅以代码,先主后次讲解
的话会很容易,而且记忆还更深刻。我们这里选取库函数时钟系统时钟函数:
SetSysClock(); 以这个函数的编写流程来讲解时钟树,这个函数也是我们用库的时候默认的
系统时钟设置函数。该函数的功能是利用 HSE 把时钟设置为: HCLK = SYSCLK=PLLCLK
= 168M, PCLK1=HCLK/2 = 84M, PCLK1=HCLK/4 = 42M 下面我们就以这个代码的流程为
主线, 来分析时钟树,对应的是图中的黄色部分,代码流程在时钟树中以数字的大小顺序
标识