云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > STM32F407-RCC配置

STM32F407-RCC配置

  • 62 次阅读
  • 3 次下载
  • 2025/12/9 15:08:36

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.

SYSCLK系统时钟可以由HSE/HSI/PLL提供。

例如使用库函数:

RCC_SYSCLKConfig( RCC_SYSCLKSource_HSE ); 代表用 HSE外部高速晶振作为系统时钟源。

如果HSE =8MHz,则SYSCLK = 8M,即STM32F407就会运行在8M的速度; 如果HSE=25M,则SYSCLK = 25M,即STM32F407就会运行在25M。

RCC_SYSCLKConfig( RCC_SYSCLKSource_HSI ); 代表用 HSI内部高速晶振作为系统时钟源,

如果HSI=16M,则SYSCLK=16M,即STM32F407 就会运行在16M的速度。

RCC_SYSCLKConfig( RCC_SYSCLKSource_PLLCLK );代表用PLL时钟作为系统时钟源。

如果配置PLL倍频至168M,则SYSCLK=168M,即STM32F407 会运行在168M; 如果倍频至144M,则SYSCLK=144M,STM32F407就会运行在144M; 如果倍频至72M,STM32F407也会像STM32F103运行在72M;

从SYSCLK,紧接着分得AHB时钟(也叫HCLK)。

假设此时我们已经选择PLL作为系统时钟源,且PLL倍频至168M,即SYSCLK=168M。

那么AHB的最高频率就为168MHz。

方框底部的数字 /1,2...512 代表AHB时钟预分频数,范围1~512, 如果是 1, 即HCLK为SYSCLK的1分频, HCLK = SYSCLK/1 = 168/1 = 168 MHz 如果是 2,即HCLK为SYSCLK的2分频,HCLK = SYSCLK/2 = 168/2 = 84MHz

注意,HCLK是受SYSCLK约束的,

如果我们配置SYSCLK = 144M,那么此时HCLK最大只能达到 144MHz。

将AHB时钟继续分割,得到的是APB时钟(也叫PCLK)。

假设在此之前,SYSCLK=168M,SYSCLK 2分频得 HCLK = 84M。(HCLK代表AHB时钟)

与前面AHB时钟类似,方框底部的数字代表预分频数,范围1~16. 如果是1,即PCLK(APB时钟)为HCLK的1分频, PCLK = HCLK/1 = 84/1 = 84MHz 如果是2,即PCLK为HCLK的2分频, PCLK = HCLK/2= 84/2 = 42MHz。

APB时钟可以继续分给APB总线上的外设,如果继续配置外设的预分频,可以进一步修改外设的时钟频率。

例如:

配置CAN总线。

第一步:利用PLL,我们配置 系统时钟 SYSCLK = 168MHz。 第二步:此时已有SYSCLK=168MHz。

设置AHB分频数为2,即得:HCLK = SYSCLK/2 = 84MHz。

第三步:此时已有HCLK = 84MHz。

设置APB分频数为 2,即得:PCLK = HCLK/2 = 42MHz。

第四步:此时已有 PCLK = 42MHz。

设置 CanInitStruct.CAN_Prescaler = 7 ,即得 CAN时钟 = PCLK/7 = 6MHz。

这样,正确配置了CAN的时钟,配置CAN时才能计算出实际的波特率,从而实现通

搜索更多关于: STM32F407-RCC配置 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

RCC (Reset and Clock Control)配置 这里介绍RCC 的 时钟控制功能 在STM32F103上,由于小组所有的板子都使用用 同样的芯片,同样的晶振,以及同样的库函数,即使我们不去理解RCC,仍然可以将大多数功能调试出来。但如果使用不同型号的芯片,例如用STM32F407 与 STM32103 进行通信,如果不去弄清楚RCC,在调试中可能会遇到麻烦。 下面就我调试STM32F407的这段时间,介绍一下RCC的部分功能。文档的前半部分是关于RCC的部分功能描述,后半部分是关于库函数的使用。 时钟结构 (原图请参考STM32F407 参考手册RCC部分) STM32F407最高层是SYSCLK系统时钟,由其生成了 AHB时钟,再由AHB时钟生成

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com