参照STM32时钟树配置STM32CubeMX Clock Configuration(STM32L011G4U6为例)
微控制器(处理器)的运行必须要依赖周期性的时钟脉冲来驱动——往往由一个外部晶体振荡器提供时钟输入为始,最终转换为多个外部设备的周期性运作为末,这种时钟“能量”扩散流动的路径,犹如大树的养分通过主干流向各个分支,因此常称之为“时钟树”。在一些传统的低端8位单片机诸如51,AVR,PIC等单片机,其也具备自身的一个时钟树系统,但其中的绝大部分是不受用户控制的,亦即在单片机上电后,时钟树就固定在某种不可更改的状态(假设单片机处于正常工作的状态)。比如51单片机使用典型的12MHz晶振作为时钟源,则外设如IO口、定时器、串口等设备的驱动时钟速率便已经是固定的,用户无法将此时钟速率更改,除非更换晶振。
而STM32微控制器的时钟树则是可配置的,其时钟输入源与最终达到外设处的时钟速率不再有固定的关系,本文将详细解析STM32微控制器的时钟树和STM32CubeMX Clock Configuration的配置关系。
STM32时钟树中有6种时钟源,如下所示:
- HSE:高速外部时钟;
- LSE:低速外部时钟;
- HSI:高速内部时钟;
- LSI:低速内部时钟;
- MSI:多速内部时钟;
- PLLCLK:锁相环倍频输出。
以STM32L011G4U6微控制器为例,时钟树如下,左侧为6种时钟源时钟,经过一些运算和转换到达右边的系统时钟和外设时钟。
时钟树并不难读懂,沿着导线耐心一步步可以很快理解,例如系统时钟可支持MSI、HSI16、HSE和PLLCLK四种时钟源配置,其中HSI16时钟源可支持倍频器分频(1倍和4倍),PLLCLK锁相环倍频输出可支持HSI16和HSE时钟源两种时钟源配置,并且进行倍频输出(预分频寄存器和时钟倍频寄存器配置)。
此时打开STM32CubeMX,选择STM32L011G4U6微控制器,打开Clock Configuration,可以发现和STM32L011G4U6时钟树基本一致,选择合适的时钟源和倍频,即可便捷快速实现相关配置(时钟频率越低,功耗越小,过低可能部分外设无法驱动)。
需要注意,部分配置不可选是由于没开启相关的IO配置,例如HSE时钟源。
开启相关IO配置即可。
参照STM32时钟树配置STM32CubeMX Clock Configuration(STM32L011G4U6为例)相关推荐
- STM32时钟树分析
对于刚接触STM32的时钟树,对时钟树的理解,可以重点先思考两个问题: 1.时钟从哪里来:时钟源. 2.时钟怎么供给STM32的系统工作:时钟的流向(输入-->处理-->输出) 下面以ST ...
- STM32—时钟树(结合系统时钟函数理解)
时钟树的概念: 我们可以把MCU的运行比作人体的运行一样,人最重要的是什么?是心跳! 心脏的周期性收缩将血液泵向身体各处.心脏对于人体好比时钟对于MCU,微控制器(MCU)的运行要靠周期性的时钟脉冲来 ...
- stm32时钟树_先学STM8,还是学STM32?
有朋友问:我学习过51,接下来我是先学习STM8,还是STM32呢? 物联网STM32入门 - 直播课程 - 创客学院www.makeru.com.cn 嵌入式开发直播课 - STM32 USART ...
- STM32时钟树学习笔记
直接上时钟树 在学习STM32的时候时钟的配置是一直必不可少的过程,也许你用别人的代码很爽,但是真正的做项目还是使用自己建立的工程最靠谱. 上图为用的原子哥的一张时钟树的图片. 下面是经常用到的全局宏 ...
- esp32 rtc 时钟设置不对_STM32入门系列-STM32时钟系统,STM32时钟树
时钟对于单片机来说是非常重要的,它为单片机工作提供一个稳定的机器周期从而使系统能够正常运行.时钟系统犹如人的心脏,一旦有问题整个系统就崩溃.我们知道STM32属于高级单片机,其内部有很多的外设,但不是 ...
- stm32时钟树_STM32中的时钟
时序在数字电路中的作用,就像通信中用到的载波,载波并不起眼,但是很重要.时钟也一样,现象上只是某种频率波峰波谷跳动,一成不变.但是有了它,就像人类的历史有了时间轴一样,什么时候该干什么事才有了可能.程 ...
- 一文读懂STM32时钟树(时钟系统)(以STM32F767为例)
STM32时钟系统 导读 时钟系统的构成 总结 导读 我在刚开始接触STM32/单片机的时候看到它的时钟系统/时钟树,都会感觉懵懵的,这是个啥?它想要告诉我哪方面的数据?特此一文记录一下学习心得. 时 ...
- STM32时钟树解析
本人之前其实也用STM32做过一些小东西,但因为时钟的初始化一般是直接在SystemInit时钟系统初始化函数里直接配置为72MHz,所以对于STM32的时钟框图并没有怎么理会,今天刚好有空就重新看了 ...
- stm32时钟树讲解
1.管理好时钟,功耗才能更低
最新文章
- ORACLE SQL: 经典查询练手第二篇
- 某程序员总结大厂程序员性格:阿里出来的是人精!百度出来的脾气好!美图出来的一根筋!头条出来的心高气傲!京东出来的满嘴是兄弟!...
- 转载:原生JavaScript实现Ajax
- 【ABAP】供应商进项税额查询报表开发
- C++学习笔记:类的成员函数的声明与定义
- 走向.NET架构设计—第五章—业务层模式,原则,实践(中篇)
- 什么是CAS机制?(进阶篇)
- 阿里的技术愿景_技术技能的另一面:领域知识和长期愿景
- localdatetime 获取天_LocalDateTime的一些用法
- 关于captcha使用The _imagingft C module is not installed的错误处理
- from __future__ import的用法
- avalon 笔记---Mr.wing
- 为什么阿里规定需要在事务注解 @Transactional 中指定 rollbackFor?这...
- SpringBoot 中解决跨域请求
- MacOS 按键精灵推荐
- JavaScript形而上的单例模式
- oracle清除过期备份,rman delete obsolete删除过期备份集问题
- Windows主机连接Windows虚拟机上Oracle数据库
- 方案设计阶段的准备工作
- 循环语句—do…while循环
热门文章
- Python:尝试对知乎网验证码进行处理
- Multiple substitutions specified in non-positional format; did you mean to add the formatted=”false”
- BZOJ4401 块的计数
- DS博客作业04--树大作业
- [Cake] 1. CI中的Cake
- 201621123068 作业08-集合
- 机器学习入门(15)— 全连接层与卷积层的区别、卷积神经网络结构、卷积运算、填充、卷积步幅、三维数据卷积、多维卷积核运算以及批处理
- Strusts2笔记7--国际化
- 结构体成员的引用方法
- loadrunner支持https协议的操作方法-经验总结