【话说定时器系列】之二:STM32常规定时器时基与时钟源

发布者:心境恬淡最新更新时间:2023-09-02 来源: zhihu关键字:STM32  时基  时钟源 手机看文章 扫描二维码
随时随地手机看文章

上节提到常规定时器包括:基本定时器、通用定时器和高级定时器。


基本定时器


基本定时器:没有任何对外输入/输出,主要用作时基计数、定时。




通用定时器


通用定时器:除了基本定时器的时基功能外,还可对外做输入捕捉、输出比较以及连接其它传感器接口【编码器和霍尔传感器】。




高级定时器


高级定时器:此类定时器的功能最为强大,除了具备通用定时器的功能外,还包含一些与电机控制和数字电源应用相关的功能,比方带死区控制的互补信号输出、紧急刹车关断输入。



了解STM32定时器


从功能模块整体了解STM32定时器





从寄存器特色了解STM32定时器


  • 定时器中的PSC/ARR/RCR/CCR寄存器具有预装载功能,即每类寄存器具有双寄存器机制;

  • 分别由各自的影子寄存器和预装载寄存器组成;

  • 影子寄存器是真正起作用的寄存器,预装载寄存器为影子寄存器提供缓冲,提前做数据或指令准备;

  • 用户操作的永远只是预装载寄存器!

  • 在开启预装载功能时,影子寄存器的内容须借助更新事件完成更新!

  • 关于预装载功能的开启或关闭,往往也犹如影子、如幽灵般影响到我们的定时器应用开发。充分了解预装载机制与更新事件很重要!


一、时基单元




基本定时器、通用定时器的时基单元由3部分组成: 分频器、计数器、自动重装器。


  • TIMx_PSC分频寄存器:设置分频器对时钟源的分频比

  • TIMx_CNT 核心计数器 :对从分频器过来的时钟进行计数

  • TIMx_ARR自动重装寄存器:为计数器设置计数边界或重装值。比如计数器向上计数时,记到多少发生溢出;向下计数时从多少开始往下计数。

  • TIMx_ARR/ TIMx_PSC 都分别由影子寄存器和预装载寄存器组成即使用双寄存器机制。

  • 影子寄存器:乃TIMER运行中真正起作用的寄存器,即实际寄存器。

  • 预装载寄存器:乃用户操作的寄存器,提前为影子寄存器做数据准备。

  • 在发生更新事件时,预装载寄存器的数据拷贝到 影子寄存器发挥作用


STM32高级定时器时基单元



相比通用定时器,高级定时器时基单元增加了 重复计数器 和对应的寄存器TIMx_RCR,重复计数器是个向下计数器;当计数器发生 TIMx_RCR+1次溢出动作后 会触发更新事件。


二、计数器的时钟源




内部时钟TIMx_CLK



内部触发输入:ITRx




外部时钟源模式1示例:TI2上升沿






外部时钟源模式2






各种时钟源的寄存器配置



关键字:STM32  时基  时钟源 引用地址:【话说定时器系列】之二:STM32常规定时器时基与时钟源

上一篇:【STM32安全技术导论之二】加解密技术
下一篇:【从智能锁谈STM32安全技术】之 - 安全固件安装

推荐阅读最新更新时间:2024-11-13 10:09

STM32固件库V3.5 在Keil MDK环境下使用方法
简介 写这篇教程主要是和大家分享使用STM32的基本方法,也是给自己学习过程的总结、记录和备忘,避免重复学习之前明白但又忘记的知识和操作。我现在也是刚开始接触学习STM32,我是在STM32的固件库V3基础上进行学习。在这里我和大家分享一下使用V3.x库的方法,希望大家喜欢,如有错误请指出。 这篇教程分以下几个方面,一:建立工程,设置工程属性。二:建立条理清晰的GROUP;三:使用JLINK仿真调试。下面就分别逐个说明。 一、新建MDK工程 1、首先,打开MDK软件,再点击Project- New uVision Project…,如下图所示: 弹出如下对话框: 新建一个文件夹MDK工程,然后把工程名字
[单片机]
<font color='red'>STM32</font>固件库V3.5 在Keil MDK环境下使用方法
STM32为什么必须先配置时钟再配置GPIO?原因解析
  意法半导体的EnergyLite™超低功耗技术平台是STM32L取得业内领先的能效性能的关键。这个技术平台也被广泛用于意法半导体的8位微控制器STM8L系列产品。EnergyLite™超低功耗技术平台基于意法半导体独有的130nm制造工艺,为实现超低的泄漏电流特性,意法半导体对该平台进行了深度优化。   在工作和睡眠模式下,EnergyLite™超低功耗技术平台可以最大限度提升能效。此外,该平台的内嵌闪存采用意法半导体独有的低功耗闪存技术。这个平台还集成了直接访存(DMA)支持功能,在应用系统运行过程中关闭闪存和CPU,外设仍然保持工作状态,从而可为开发人员节省大量的时间。   除最为突出的与制程有关的节能特色外,ST
[单片机]
<font color='red'>STM32</font>为什么必须先配置时钟再配置GPIO?原因解析
STM32入门之旅(第三天)-------按键电路、时钟体系
一、按键电路 什么是上拉电阻?按键的上拉电阻为什么是10k欧姆? 答:上拉电阻就是将一个不确定的信号,通过一个电阻和电源VCC相连,固定在高电平。 作用: 1)增加输出引脚的驱动能力(其实就是增加当前导线的电流); 2)防止引脚悬空,否则会产生积累电荷(静电),影响电路稳定性; 3)特别是按键的时候,引脚电平不定的时候,给它一个确定的电平。 至于为什么是10k?因为电阻越小,功耗越大,电阻越大,芯片引脚识别不了,10k的话是大多数智能设备芯片所能识别到的,这是个折中的方案。 二、库函数 st公司为了编程方便,为coder们,封装了一套库函数,并给出了官方模板。自行百度,网上有很多这种资源,st
[单片机]
<font color='red'>STM32</font>入门之旅(第三天)-------按键电路、时钟体系
STM32的烧录文件.bat 解析
@echo off setlocal :: Be sure to install the ST-LINK drivers and Utility application for Windows :: Location of ST-LINK_CLI.exe, which is part of the Utility application :: set STLINKUTIL= C:\Program Files (x86)\STMicroelectronics\STM32 ST-LINK Utility\ST-LINK Utility\ST-LINK_CLI.exe set STLINKUTIL= C:\Program Files (
[单片机]
STM32学习之路(六)——AD转换
ADC输入通道管理模式可分为规则组和注入组。规则组指正常的转换;而注入组是由外部触发或者软件触发,打断正常的规则组转换。规则组可以是某单一的通道,也可以是某几个通道的组合。多通道的转换次序可编程,转换次序长度最大为16,注入通道最长为4. 1、单词转换模式,即可以通过设置ADC_CR2寄存器的ADON位(只适用于规则通道)启动,也可通过外部触发启动(都适用),此时CONT位为0. 规则通道被转换后:数据存储在ADC_DR中 EOC(转换结果)标志置位 设置了EOCIE,则产生中断 注入通道被转换后:数据存储在ADC_DRJ1中
[单片机]
STM32中断向量嵌套NVIC理解
一,中断优先级: 具有高抢占式优先级的中断可以在具有低抢占式优先级的中断处理过程中被响应,即中断嵌套,或者说高抢占式优先级的中断可以嵌套低抢占式优先级的中断。 当两个中断源的抢占式优先级相同时,这两个中断将没有嵌套关系,当一个中断到来后,如果正在处理另一个中断,这个后到来的中断就要等到前一个中断处理完之后才能被处理。如果这两个中断同时到达,则中断控制器根据他们的响应优先级高低来决定先处理哪一个;如果他们的抢占式优先级和响应优先级都相等,则根据他们在中断表中的排位顺序决定先处理哪一个。 既然每个中断源都需要被指定这两种优先级,就需要有相应的寄存器位记录每个中断的优先级;在Cortex-M3中定义了8个比特位用于设置中断源
[单片机]
STM32串口发送注意问题
使用stm32f10x调试串口通讯时,发现一个出错的现象,硬件复位重启之后,发送测试数据0x01 0x02 0x03 0x04..接收端收到的数据为:0x02 0x03 0x04,第一个数据丢失。换成发送别的数值的数据,如0x06 0x0ff,则接收到0x0ff,0x06丢失。错误依旧。 故障排除过程: 1、刚开始怀疑是接收端的错误,我是使用电脑串口,运行串口辅助调试工具接收,换成其他软件后,发现故障依旧,而且电脑软件一直是开启状态,不像和电脑软件有关。 2、使用单步调试,单步运行各个发送指令,都正常。能收到0x01 0x02 0x03 0x04的数据。间接的排除了不是电脑软件的问题,而是其他的错误。 3、单步调试
[单片机]
STM32时钟源
PLLK,SYSK,HCKL,PK1,PK2 之间的关系要弄清楚; 1、HSI:高速内部时钟信号 stm32单片机内带的时钟 (8M频率) 精度较差 2、HSE:高速外部时钟信号 精度高 来源(1)HSE外部晶体/陶瓷谐振器(晶振) (2)HSE用户外部时钟 3、LSE:低速外部晶体 32.768kHz 主要提供一个精确的时钟源 一般作为RTC时钟使用 在STM32中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。   ①、HSI是高速内部时钟,RC振荡器,频率为8MHz。   ②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。   ③、LSI是低速内部时钟,RC振荡器
[单片机]

推荐帖子

DLPNIRscan Nano评估模块揭秘
【转】NIRscanNano评估模块的爱好者们:为了将DLPNIRscanNano评估模块(EVM)的硬件及光引擎解释清楚,我拆解了一个早期由Coretronic公司生产的模块。需要注意的是,任何对光引擎的拆解会使NIRscanNanoEVM的保修失效。另外,去掉光引擎上的罩子会使灰尘和污垢聚集在光学器件上,从而影响到系统性能。此外,去掉上面的罩子会移动光学器件、狭缝和探测器,使这些元件错位,需要厂家重新进行对准和校准。如果拆除了狭缝,将需要把InGa
好大一阵风 DSP 与 ARM 处理器
通过按键实现直流电机的正反转和加减速!
本程序主要实现了通过按键选择电机的正转或反转,选择完后,通过up键,加快电机的转速(增大占空比),down键来降低电机的转速。本例程的扩展部分:将按键用外接的电位器来控制,类似于汽车转动方向盘,电机就转到,转动角度越大,转动的速度就越大。1•设置PWM时钟配置2•使能PWM模块和GPIO3•设置相应的GPIO口供PWM使用4•配置PWM发生器5•设置PWM模块频率6•设置PWM0的占空比7R
fxw451 微控制器 MCU
PIC12F510/PIC12C67X
有人有PIC12F510或者PIC12C67X的下载接口原理图吗?给我一份呗?PIC12F510/PIC12C67X857256004@qq.com这是我的邮箱。麻烦各位帮帮忙,谢谢了PIC单片机的仿真下载接口都是一样的。1RESET2VCC3GND4PGD5PGCdcexpert发表于2015-3-2116:26PIC单片机的仿真下载接口都是一样的。1RESET2VCC3GND4PGD5PGC
小@小哒哒何 Microchip MCU
正弦振荡电路杂谈(二)
    正弦振荡电路杂谈(二)    LC振荡电路没有限幅电路  当下通用的模拟电路教材都会讲到LC振荡电路,教材中介绍的LC振荡电路都没有限幅电路,而讲到的RC振荡电路均介绍了限幅电路。这是为什么?  这是由于RC振荡电路中选频电路的幅频特性与LC振荡电路中选频电路的幅频特性相差很大。    图(01)  图(01)是仿真得到的文氏电桥选频电路(RC串并联电路)幅频和相频特性曲线。  图中电阻设置为1591Ω,是为了使中心频率(相移为零的频率,也就是文氏电桥振荡电路产生振荡的频
maychang 综合技术交流
TI 电源设计小贴士 21
欢迎来到电源设计小贴士!随着现在对更高效、更低成本电源解决方案需求的强调,我们创建了该专栏,就各种电源管理课题提出一些对您有帮助的小技巧。该专栏面向各级设计工程师。无论您是从事电源业务多年还是刚刚步入电源领域,您都可以在这里找到一些极其有用的信息,以帮助您迎接下一个设计挑战。RobertKollman现任TI高级应用经理兼科技委员会的资深委员。他拥有在电源电子领域超过30年的工作经验,并为电源电子设计了从低功耗(sub-watt)到超低功
trevor 模拟与混合信号
笔记本只有USB口,我的JTAG不能用,我买个USB转并口的,是不是就可以了。
笔记本只有USB口,我的JTAG不能用,我买个USB转并口的,是不是就可以了。按理说可以,但比如USB口的驱动能力,还有USB转并口的技术是否程序,你在选项上如何选择,这都是很麻烦的事啊好象不行呀。我有个ATMEL的编程器也是这样。正确安装完了USB-RS232的硬件和驱动。可是我找不到USB代替了COM几。挨个试验都不行。还是用不成。我想,如果IAR软件在直接找并口的,并不去找USB代替的口,就还是不能用。绝大部分肯定是不好用的,与“上位机”,“下位机”都有关,不然人家出USB仿真
305932515 微控制器 MCU
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多往期活动

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved