stm32 定时器知识总结

发布者:EnigmaticCharm最新更新时间:2019-07-12 来源: eefocus关键字:stm32  定时器  知识总结 手机看文章 扫描二维码
随时随地手机看文章

一 定时器的种类 

STM32F103系列有11个定时器: 

2个高级定时器(TIM1,TIM8) 

4个通用定时器(TIM2,TIM3,TIM4,TIM5) 

2个基本定时器(TIM6,TIM7) 

2个看门狗定时器(IWDG,WWDG) 

1个系统滴答定时器


二 定时器主要功能 

基本定时器(TIM6,TIM7)的主要功能就是定时,由各自的可编程预分频器驱动。


通用定时器(TIM2~TIM5)除了基本的定时功能以外,还具有输入捕获和输出比较,产生pwm波形的功能。


高级定时器除了具有以上两种定时器的功能以外,还具有输出互补带死区的信号,以及刹车等功能。


看门狗定时器用于监测程序是否故障的,在超出一定时间程序跑飞了或者CPU不工作了,会产生一次系统复位或者是中断(只有窗口看门狗有中断功能)。


系统滴答定时器是封装在cortex-M3中的一个定时器,在运行操作系统时滴答定时器周期性产生中断,基于时间片轮转的系统会在时间片里切换任务,还能用这个定时器实现精准的延时。


三 定时 

TIM1~TIM8这8个定时器都是16位的,最大能到65535,这个值我们称之为重装载值(arr),在这里就牵扯到定时器技术模式的概念,技术模式有3种 

(1)向上计数模式:从0开始计数,逐一递增到arr,产生溢出事件,重新从0开始计数; 

(2)向下计数模式: 从arr开始计数,逐一递减到0,产生溢出事件,重新从arr开始计数; 

(3)中央对其模式(也叫向上/向下模式):从0开始向上计数,计到arr产生溢出事件然后向下计数,计到0又产生溢出,再从0开始向上计数。


TIM1~TIM8中,除了基本定时器TIM6,TIM7只具有向上计数模式之外,其他6个都支持3种计数模式。


用定时器来定时,最主要的就是会计算定时时间,假设定时时间为T,预分频值为psc,时钟为SYS_CLK(时钟源为系统时钟),则T=((psc+1)/SYS_CLK)(arr+1)* 

怎么理解这个公式呢,我有个笨办法,打个比方,把时间就比作放在篮子里的苹果,篮子的个数就相当于重装载值(arr+1)(重装载值是从0开始的),每个篮子里放的苹果个数就相当于信号每个周期的时间t,所以总的苹果相当于定时时间T=(arr+1)*t.


信号每个周期的时间t可以由频率的倒数求得,信号的频率是由系统时钟频率分频得到的,比如说,分频值psc为0,表示不分频(也就是1分频),分频值为1表示2分频,以此类推……最终就可以得到上面的公式了。(有点啰嗦,原谅我笨拙的表达能力,o(╯□╰)o)


四 输入捕获 

输入捕获功能主要是用来测量信号的频率和脉冲宽度,除了基本定时器(TIM6,TIM7)之外,通用定时器和高级定时器都有这个功能,stm32的输入捕获是通过监测边沿信号,在信号发生跳变时,将定时器的值存下来就完成了一次捕获。 

比如我们想要捕获信号高电平,要先设置定时器为上升沿捕获,当捕获到上升沿时记录下当前定时器值,再设置为下降沿捕获,当捕获到下降沿时再记录下当前的值,上升沿与下降沿之间的差值就是高电平的宽度,再根据定时器的频率计算出高电平持续的时间。 

注: 

捕获电平宽度的时候,如果脉冲持续时间比较长,定时器可能会出现溢出(计数超出了重装载值),这时候就必须记录一下溢出的次数,最后获取到的宽度值还要加上一共溢出的值才是脉冲宽度。


五 比较输出 

比较输出功能是用来输出一个信号,我们事先要设置一个比较值,当定时器的计数值和比较值相等时,这个状态成为匹配状态,比较输出功能有三种模式:主动模式,非主动模式和触发模式。


主动模式:当达到比较匹配状态时输出高电平; 

非主动模式:当达到比较匹配状态时输出低电平; 

触发模式:当达到比较匹配状态时,翻转输出电平。


六 PWM输出 

pwm(脉冲宽度调制)在控制领域是个经常用到的信号,stm32就专门设计了pwm输出模式,可以直接设置占空比很方便


七 互补输出&死区 

互补输出,死区,还有刹车功能是高级定时器才有的功能,主要是运用在电机控制领域,这部分功能要结合电路和程序总结更有意义(后续补充)。

关键字:stm32  定时器  知识总结 引用地址:stm32 定时器知识总结

上一篇:Stm32入门——Systick定时器
下一篇:STM32定时器映射及其通道

推荐阅读最新更新时间:2024-11-09 12:01

STM32用一线式驱动SD NAND,SDIO的一线式驱动
SDIO的一线式和四线式 SDIO(Secure Digital Input/Output)是一种用于在嵌入式系统中连接外部设备的标准接口。在SDIO标准中,一线式和四线式是指SDIO接口的不同工作模式。 一线式(Single-Line Mode): 工作原理: 在一线式模式下,SDIO接口仅使用单个数据线进行通信。这个模式通常用于相对简单的应用,其中数据传输速度要求不是很高。 适用情境: 适用于对数据传输速度要求不高的场景,例如连接一些低速外设。 四线式(Four-Line Mode): 工作原理: 在四线式模式下,SDIO接口使用四根线进行通信,包括一个命令线、一个数据线、一个时钟线和一个电源线。这个模式支持更高的数据传输
[单片机]
<font color='red'>STM32</font>用一线式驱动SD NAND,SDIO的一线式驱动
STM32单片机看门狗的配置方法
STM32单片机的看门狗有独立看门狗和窗口看门狗之分,这两者的工作原理却完全不同,今天来看一下他们的具体区别和配置方法。 ▍STM32独立看门狗 由专门的低速时钟(LSI)驱动,即便是主时钟发生故障它仍能够有效,所以此狗狗可以工作在与主时钟无关的要求下,或者待机模块下等,所以它叫独立看门狗,注意一旦开启此看门狗则只能由MCU复位后才清除,让它不再工作。 它的时钟是一个内部RC时钟,它会在30KHZ到60KHZ之间变化,并非是精确的40KHZ,而只是一般计算时取40KHZ。 独立看门狗需设置四个寄存器如下: 其中,预分频寄存器(IWDG_PR),最低三位PR (Prescaler divider)有效,可设置有8种不同
[单片机]
<font color='red'>STM32</font>单片机看门狗的配置方法
西门子S7系列的保持型接通延时定时器介绍
保持型接通延时定时器时序如下: 例3.2.4 STL语句表如下: A I 0.0 L S5T#2s 装入定时时间到ACCU1 SS T5 启动保持型延时接通定时器T5 A I 0.1 R T 5 定时器T5复位 A T 5 = Q 4.0 FBD 功能图如下: 时序图如下:
[嵌入式]
西门子S7系列的保持型接通延时<font color='red'>定时器</font>介绍
什么是Bootloader 浅谈STM32中bootloader的内存分配
1. 什么是Bootlo ad er Bootloader是 硬件 启动的引导程序,是运行 操作系统 的前提。在操作系统内核或用户应用程序运行之前运行的一段小代码。对硬件进行相应的初始化和设定,最终为操作系统准备好环境。 2. Bootloader的特点 Bootloader不属于操作系统,一般采用 汇编 语言和 C语言 开发。需要针对特定的硬件平台编写。在移植过程时,首先为开发板移植Bootloader。Bootloader不但依赖于 CPU 的体系架构,而且依赖于 嵌入式系统 板级设备的配置。 3. STM32 中bootloader的内存分配 stm32默认的是从0x08000000开始启动程序,所以bootloader
[单片机]
什么是Bootloader 浅谈<font color='red'>STM32</font>中bootloader的内存分配
STM32入门学习笔记之uCOS-II系统移植3
⑤这两个函数都用于任务切换,它们的本质都是触发PendSV中断,具体切换过程在PendSV的中断函数中进行,其中OSCtxSw是任务级切换,OSIntCtxSw是中断级切换,是从中断退出时切换到一个任务中,从中断切换到任务的过程中,CPU的寄存器入栈工作已经完成。 OSCtxSw PUSH {R4, R5} LDR R4, =NVIC_INT_CTRL ;触发PendSV异常 LDR R5, =NVIC_PENDSVSET STR R5, ;向NVIC_INT_CTRL写入NVIC_PENDSVSET触发PendSV中断 POP {R4, R5} BX LR OSIntCt
[单片机]
如何画出STM32系列单片机的原理图
关于STM32F1系列单片机的一个常识: 看上图得知,根据Flash存储器的大小,把STM32F1分为了4种类型,分别是“低密度”“中密度”“高密度”“超高密度”,然后还有一种“互联型”。我们使用的STM32F103VET6的FLASH大小是512K,所以属于“高密度”型的。 我们这次要做的,就是把单片机STM32F103VET6的原理图画出来。 画的时候,要看STM32F103的datasheet。这个datasheet可以在ST的官网上找到。记住,是数据手册,不是参考手册。ST的官网是支持中文的,方便英文不好的朋友浏览。 打开ST的官方网站,看上图第一个红色矩形框里面的路径,依次到这一页。然后点击“数据手册”: 文
[单片机]
如何画出<font color='red'>STM32</font>系列单片机的原理图
使用CubeMX创建BLE应用
1、CubeMX介绍 应用优势 帮助MCU选型 在设计阶段尽可能模拟实际应用场景 自动代码生成,增加开发速度 设置选项 STM32CubeMX需要Java RE环境 安装之后,按Alt+S来配置更新器——不仅用于GUI,还用于Cube FW库 选择软件库存放位置 更新管理器 可以从“帮助”菜单中访问更新 工具更新器可以检测工具和CubeMX库的新版本 使用库管理器下载新的库包 MCU选择器 通过名字查找MCU 方便查找文档 输出Excel表格 MCU交叉选择器 引脚分配 2、功耗测量插件 使用PCC 通用PCC参数 MCU选择:可以直接从网站获取datasheet 参数选
[单片机]
GD32单片机和STM32单片机的区别
一、前言 什么GD32? GD32是国内开发的一款单片机,据说开发的人员是来自ST公司的,GD32也是以STM32作为模板做出来的。 所以GD32和STM32有很多地方都是一样的,不过GD32毕竟是不同的产品,不可能所有东西都沿用STM32,有些自主开发的东西还是有区别的。相同的地方我们就不说了,下面我给大家讲一下不同的地方。 二、区别 1、内核 GD32采用二代的M3内核,STM32主要采用一代M3内核,下图是ARM公司的M3内核勘误表,GD使用的内核只有752419这一个BUG。 2、主频 使用HSE(高速外部时钟):GD32的主频最大108M,STM32的主频最大72M 使用HSI(高速内部时钟):GD32的主频最大10
[单片机]
GD32单片机和<font color='red'>STM32</font>单片机的区别
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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