STM32时钟系统

一. STM32时钟系统介绍

二. 时钟系统框图

三. 时钟配置相关函数

1.1 时钟系统介绍:

时钟是单片机运行的基础,时钟信号推动单片机内各个部分执行相应的指令。STM32本身十分复杂,外设非常多 但我们实际使用的时候只会用到有限的几个外设,使用任何外设都需要时钟才能启动,但并不是所有的外设都需要系统时钟那么高的频率,为了兼容不同速度的设备,有些高速,有些低速,如果都用高速时钟,势必造成浪费 并且,同一个电路,时钟越快功耗越快,同时抗电磁干扰能力也就越弱,所以较为复杂的MCU都是采用多时钟源的方法来解决这些问题。所以便有了STM32的时钟系统和时钟树

1.2 总括:

  1. STM32时钟系统主要的目的就是给相对独立的外设模块提供时钟,也是为了降低整个芯片的耗能。
  2. 系统时钟,是处理器运行时间基准(每一条机器指令一个时钟周期)
    时钟是单片机运行的基础,时钟信号推动单片机内各个部分执行相应的指令。
  3. 一个单片机内提供多个不同的系统时钟,可以适应更多的应用场合。
  4. 不同的功能模块会有不同的时钟上限,因此提供不同的时钟,也能在一个单片机内放置更多的功能模块。
  5. 对不同模块的时钟增加开启和关闭功能,可以降低单片机的功耗
  6. STM32为了低功耗,他将所有的外设时钟都设置为disable(不使能),用到什么外设,只要打开对应外设的时钟就可以, 其他的没用到的可以还是disable(不使能),这样耗能就会减少。 这就是为什么不管你配置什么功能都需要先打开对应的时钟的原因

2.1 时钟系统框图

2.2、时钟系统结构总结

  1. STM32 有5个时钟源:HSI、HSE、LSI、LSE、PLL。(打开时钟源后要有一段时间延迟待其稳定!)
      ①、HSI是高速内部时钟,RC振荡器,频率为8MHz,精度不高。
      ②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时
    钟源,频率范围为4MHz~16MHz。
     ③、LSI是低速内部时钟,RC振荡器,频率为40kHz,提供低功耗时钟。WDG
     ④、LSE是低速外部时钟,接频率为32.768kHz的石英晶体。RTC
     ⑤、PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。
     
    倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。

  2. 系统时钟SYSCLK可来源于三个时钟源:
    ①、HSI振荡器时钟
    ②、HSE振荡器时钟
    ③、PLL时钟

3.STM32可以选择一个时钟信号输出到MCO脚(PA8)上,可以选择为PLL
输出的2分频、HSI、HSE、或者系统时钟。

4.几个重要时钟:
SYSCLK(系统时钟) :
AHB总线时钟
APB1总线时钟(低速): 速度最高36MHz
APB2总线时钟(高速): 速度最高72MHz
PLL时钟

任何一个外设在使用之前,必须首先使能其相应的时钟。

3.1 RCC相关配置寄存器

以F1为例:

调用结构体里面各个成员即对应寄存器:(斜体为常用配置)都是32位!
typedef struct
{__IO uint32_t CR; //HSI,HSE,CSS,PLL等的使能和就绪标志位
__IO uint32_t CFGR; //PLL等的时钟源选择,分频系数设定
__IO uint32_t CIR; // 清除/使能 时钟就绪中断
__IO uint32_t APB2RSTR; //APB2线上外设复位寄存器
__IO uint32_t APB1RSTR; //APB1线上外设复位寄存器
__IO uint32_t AHBENR; //DMA、SDIO等时钟使能
__IO uint32_t APB2ENR; //APB2线上外设时钟使能
__IO uint32_t APB1ENR; //APB1线上外设时钟使能
__IO uint32_t BDCR; //备份域控制寄存器
__IO uint32_t CSR; //控制状态寄存器
} RCC_TypeDef;

对于时钟控制寄存器(RC)


通过控制位来控制寄存器的模式
过程:
首先打开HSE
等待就绪
设置三个时钟例如分频系数
确定三个与系统时钟之间的关系
设置CFGR寄存器,确定PLL寄存器的时钟来源以及倍频系数
使能PLL寄存器
把系统时钟切换到PLL时钟上(系统时钟以PLL时钟为来源)

2021.4.14 第四次 STM32时钟系统相关推荐

  1. STM32——时钟系统

    STM32--时钟系统 宗旨:技术的学习是有限的,分享的精神是无限的. 一.时钟树 普通的MCU,一般只要配置好GPIO 的寄存器,就可以使用了.STM32为了实现低功耗,设计了非常复杂的时钟系统,必 ...

  2. esp32 rtc 时钟设置不对_STM32入门系列-STM32时钟系统,STM32时钟树

    时钟对于单片机来说是非常重要的,它为单片机工作提供一个稳定的机器周期从而使系统能够正常运行.时钟系统犹如人的心脏,一旦有问题整个系统就崩溃.我们知道STM32属于高级单片机,其内部有很多的外设,但不是 ...

  3. STM32 时钟系统

    STM32时钟系统的基本概念 概念及意义 (1)概念:时钟系统是由振荡器(信号源).定时唤醒器.分频器等组成的电路.常用的信号源有晶体振荡器和RC振荡器. (2)意义:时钟对数字电路而言非常重要,没有 ...

  4. STM32时钟系统的概念及意义

    STM32时钟系统的基本概念 概念及意义 概念 时钟系统是由振荡器(信号源).定时唤醒器.分频器等组成的电路.常用的信号源有晶体振荡器和RC振荡器 意义 时钟是嵌入式系统的脉搏,处理器内核在时钟驱动下 ...

  5. STM32时钟系统(1)-时钟框图解释

    STM32时钟系统(2)-时钟系统常用寄存器和库函数 STM32时钟系统 官方文档说明: Three different clock sources can be used to drive the ...

  6. STM32——时钟系统RCC详细介绍

    STM32的时钟系统学习,主要集中在时钟树的分析应用,时钟树里面有很多的时钟,它具体怎么配置,或者说我们的固件库函数是怎么配置的,这就是我们需要掌握的地方,最后我们达到的目的就是编写自己的库函数,实现 ...

  7. STM32时钟系统了解

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.时钟系统是什么? 二.为什么STM32需要多个时钟源? 三.STM32LE/E4xx时钟树 四.时钟源分类 五.以下是对 ...

  8. ARM开发初级-STM32时钟系统以及如何正确使用HAL_Delay-学习笔记08

    文章目录 1. STM32时钟系统概述 1.1 时钟系统的概念及意义 1.2 常见振荡器介绍 1.3 时钟树分析 2. STM32时钟配置实例 3. SysTick定时器讲解 3.1 SysTick ...

  9. 【STM32】初学者必读STM32时钟系统详解

    目录 1 前言 2 时钟系统介绍 3 时钟源 3.1 系统时钟源 3.2 次级时钟源 3.3 时钟源特点 4 时钟 4.1 AHB总线时钟 4.2 APB1总线时钟 4.3 APB2总线时钟 5 时钟 ...

最新文章

  1. 64位 ubuntu android studio gradle 权限不够 缺少文件和权限导致
  2. javascript 判断 前端 是 pc端 还是 移动端
  3. AVFoundation学习Demo--拍摄视频
  4. django修改服务器名称,django部署和服务器配置教程
  5. Node初学(二)Promise/Deferred模式,异步调用
  6. Kafka概念入门(一)
  7. django2.2连接mysql遇到的坑(亲测)
  8. asp.net core中使用cookie身份验证
  9. 从618大促聊聊华为云GaussDB NoSQL的蓬勃张力
  10. 黑马程序员_java之反射
  11. 打印机后台程序没有启动
  12. java爬虫视频教程_JAVA开发教程:java视频教程java爬虫实战项目 百度网盘
  13. linux bios格式化磁盘,BIOS设置与磁盘分区、格式化.doc
  14. 其他——SPSS做线性回归分析最好的例子
  15. 多媒体播放器软件性能测试,视频播放性能测试及总结
  16. python3 接入IOS推送apn
  17. 学习乐器的好处(1)
  18. 安卓App生成签名证书,uniapp生成自有证书打包
  19. 编程路上的重要概念记录
  20. Java生鲜电商平台-生鲜电商高并发下的接口幂等性实现与代码讲解

热门文章

  1. 「产品中心」AMC系列三相多功能表
  2. Python模块---海龟(turtle)
  3. 大学计算机科学的内容,本科读宾夕法尼亚大学计算机科学专业学什么内容?
  4. 用链脉智能名片,一天帮你交换上百张名片
  5. AGX硬盘无法识别:error mounting /dev/sda1 at /media/nvidia/T7:unknow filesystem type ‘exfat‘
  6. Mable:NFT的下一步机会与它的流动性溢价
  7. 不用重新安装,黑苹果直接升级最新的Catalina!!!
  8. 织梦php汉字字符串中间插入换行符方法
  9. (12/05/21) vue-element-admi介绍 后台系统基础环境搭建
  10. AI 能预测夫妻吵架,还会劝你冷静一下