Stm32复习之时钟系统
地点:南图
这部分的内容是整个STM32学习知识的核心,不管是什么微控制器处理器,时钟系统都是其核心类似于人之心脏,因此学好理解这一章节至关重要。
为了便于理解这一系统,将从以下几个层次来讲。(忘了是在哪儿看到的这么一句话,当你能对某人解释清楚某一部分知识,那么说明你已经完全掌握了它) 。
1、第一个层次:硬件
STM32的时钟源 可以有以下5个来源:
(1)HSI高速的内部时钟
8M的RC震荡时钟,相对于晶体振荡器精确度差些,因此在需要精确频率或定时的应用时,应选用HSE作为系统时钟。这个是在STM32内部的,在没有外接晶体振荡器的时候,系统的时钟就会用此作为时钟源。
(2)HSE高速的外部时钟
允许外接4~16M频率的晶体振荡器 ,相比于内部的RC晶体振荡器精确度高些。通常最小系统板上接的椭圆形扁平的就是8M的晶体谐振器。
(3)LSI低速的内部时钟
因为现阶段不会用到,所以没细看。大致功能是作为RTC的时钟源。
(4)LSE低速外部时钟
同(3)。
(5)外部的输入时钟
可以使用其他单片器或时钟电路的输入方波作为时钟源,接入的引脚是OSC_IN,输入的必须是占空比为50%的方波或三角波。
2、第二层次:时钟系统内的时钟源细分
这部分的分析从源头出发分析,着重分析系统时钟SYSCLK的来源。
(1)sysclk的时钟来源。(SYSCLK允许的最大频率是72MHZ)
有三个来源:
HSE:提供8MHZ频率给SYSCLK
HSI:同HSE
PLL :PLL是第二级的时钟源,他的时钟来源是HSE(HSE/2、HSE)或HSI(HSI/2),输出的频率是倍频之后的频率。
这部分的内容重点是SYSCLK的来源,SYSCLK的作用是直接作为外设和AHB总线的时钟源(这样表述好像有问题)。
(2) AHB时钟源(对应时钟频率HCLK)
来源是SYSCLK分频之后,因此频率最大的情况是1分频时即72MHz。AHB的作用是作为APB1和APB2的时钟源,以及8分频后作为Cortex的外部时钟(Systick)
(3)APB1低速时钟总线
APB1低速时钟总线的作用是作为挂载在上面的外设的时钟源,最大36MHz。
(4)APB2高速时钟总线
最大72Mhz。
3、重要外设时钟源分析
(1)定时器
高级定时器TIM1、TIM8是挂载在APB2上的,其他定时器TIM2~TIM7挂载在APB1上。值得注意的是定时器的时钟频率取决于分频系数,当分频系数为1时,则其时钟频率和相应总线频率相等,其他分频系数,时钟频率为总线频率的2倍。
Stm32复习之时钟系统的更多相关文章
- 嵌入式02 STM32 实验03 时钟系统
时钟系统是处理器的核心,所以认真学习时钟系统是必要的,有助于深入理解STM32. 由于STM32的外设很多,有的外设不需要太高的时钟频率,同一个电路,时钟越快功耗越大,同时抗电磁干扰能力也越弱,所以对 ...
- STM32时钟系统
一.在STM32中,有五个时钟源,为HSI.HSE.LSI.LSE.PLL. ①HSI是高速内部时钟,RC振荡器,频率为8MHz. ②HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率 ...
- STM32学习笔记:系统时钟和SysTick定时器
原文:http://blog.sina.com.cn/s/blog_49cb42490100s60d.html 1. STM32的时钟系统 在STM32中,一共有5个时钟源,分别是HSI.HS ...
- 关于STM32时钟系统
初学STM32,感觉最蛋疼的是它的时钟系统,每次看到它的那个时钟树就有点晕,虽然看了很多这方面的资料,甚至也已经写过很多STM32的模块代码,做过一些小项目,但一直还是对这一块模模糊糊,似懂非懂,所以 ...
- STM32(4)——系统时钟和SysTick
1.STM32的时钟系统 在STM32中,一共有5个时钟源,分别是HSI.HSE.LSI.LSE.PLL HSI是高速内部时钟,RC振荡器,频率为8MHz: HSE是高速外部时钟,可接石英/陶瓷谐振器 ...
- STM32入门系列-STM32时钟系统,STM32时钟树
时钟对于单片机来说是非常重要的,它为单片机工作提供一个稳定的机器周期从而使系统能够正常运行.时钟系统犹如人的心脏,一旦有问题整个系统就崩溃.我们知道STM32属于高级单片机,其内部有很多的外设,但不是 ...
- STM32的时钟系统RCC详细整理(转载)
一.综述: 1.时钟源 在 STM32 中,一共有 5 个时钟源,分别是 HSI . HSE . LSI . LSE . PLL . ①HSI 是高速内部时钟, RC 振荡器,频率为 8MHz : ② ...
- STM32必学的时钟系统
STM32的时钟系统 相较于51单片机,stm32的时钟系统可以说是非常复杂了,我们现在看下面的一张图: 上图说明了时钟的走向,是从左至右的从时钟源一步步的分配给外设时钟.需要注意的是,上图左侧一 ...
- STM32时钟系统之利用 systick 定时器来实现准确的延时。
本篇文章带着大家来认识一下 STM32 的时钟系统,以及利用 systick 定时器来实现一个比较准确的延时. 我们首先从时钟说起,时钟在MCU中的作用,就好比于人类的心脏一样不可或缺.STM32 的 ...
随机推荐
- copy 和 deepcopy的区别
import copy a = [1, 2, 3, 4, ['a', 'b']] b = a # 引用,除非直接给a重新赋值,否则a变则b变,b变则a变 c = copy.copy(a) # 浅复制, ...
- CentOS7.4使用KVM
参考地址 [root@node1 ~]# cat /etc/centos-release CentOS Linux release 7.4.1708 (Core) [root@node1 ~]# un ...
- 为什么很多IT公司不喜欢进过培训机构的人呢?
转载原文链接:https://www.cnblogs.com/alex3714/p/9105765.html 这几天在知乎看到一个问题“为什么很多IT公司不喜欢进过培训机构的人呢?” 身为老男孩的教学 ...
- 三种方法实现Hadoop(MapReduce)全局排序(1)
我们可能会有些需求要求MapReduce的输出全局有序,这里说的有序是指Key全局有序.但是我们知道,MapReduce默认只是保证同一个分区内的Key是有序的,但是不保证全局有序.基于此,本文提供三 ...
- springBoot2.0+redis+fastJson+自定义注解实现方法上添加过期时间
springBoot2.0集成redis实例 一.首先引入项目依赖的maven jar包,主要包括 spring-boot-starter-data-redis包,这个再springBoot2.0之前 ...
- Bubble Babble Binary Data Encoding的简介以及bubblepy的安装使用方法
Bubble Babble Binary Data Encoding是由Antti Huima创建的一种编码方法,可以把二进制信息表示为由交替的元音和辅音组成的伪词(pseudo-words),主要用 ...
- ASP.NET Web API2返回值处理流程
关于WebApi2控制器方法的四种返回类型请参考官方文档: https://docs.microsoft.com/zh-cn/aspnet/web-api/overview/getting-start ...
- windows下安装和使用scrapy
首先,要确保已经正确安装了python环境,并安装了pip包 接着,打开cmd或者powershell ,输入命令 pip install scrapy .安装完之后 运行scrapy性能测试命令: ...
- SyntaxError: missing ) after argument list
消息 语法错误: 参数列表后面缺少 ) 错误类型 SyntaxError. 什么地方出错了? 有一个函数在调用时出现错误.这可能是一个错误,丢失运算符或者转义字符等. 示例 因为没有使用 ”+“ 操作 ...
- Flask的插件session、SQLAlchemy、Script、Migrate
一.flask-session 1.为什么要使用flask-session 因为flask默认的session是通过请求上下文放入到Local中的,是存在内存的,而使用flask-session可以更 ...