TIM定时中断

前言

本文为笔者学习江科协stm32[6-1 TIM定时器中断]笔记,非常感谢作者的细致详解,让我理解更深刻。笔者才疏学浅,班门弄斧,详情请移步STM32入门教程-2023版 细致讲解 中文字幕

TIM 简介

  1. 定时器可以对输入的时钟进行计数,并在计数器达到设定值时触发中断;STM32定时器的基本时钟一般都是主频72MHZ,72MHZ计72个数,那就是1MHZ ,也就是1us 时间。
  2. STM32拥有16位计数器,预分频器,自动重装寄存器的时基单元,预分频器和自动重装寄存器都设置为最大(65536),可以最大计数59.65s,还可以支持级联模式,增长这个时间
  1 / 72MHZ  * 65536 * 65536 =  59.65232355555556s

16位计数器:计数定时的寄存器,每来个时钟,计数器加1;
16位预分频器:可以对计数器的时钟进行分频,让计数更灵活;
16位自动重装寄存器:计数的目标值,计多少个时钟申请中断。

  1. 不仅具备基本的定时中断功能,还可以包含内外时钟源选择,输入捕获,输出比较,编译器接口,主从触发模式等多种功能
  2. 定时器可以分为三种,高级定时器,通用定时器,基本定时器三种类型。

三种定时器

基本定时器框图

主要是时基单元,拥有基本的定时中断,多了一个TRGO ,这部分可以控制主模式触发DAC的功能;
cnt计数器这里是从0开始,向上自增,计到重装值,清零同时申请中断这种为向上计数,基本定时器仅支持这一种模式。在这里插入图片描述

通用定时器框图

在通用计数器中,cnt计数器支持向上计数,向下计数,和中央对齐三种模式。
向下计数:从重装值开始,向下自减,回到重装值同事申请中断。
中央对齐模式:先从0开始,先向上自增,计到重装值,申请中断,然后再向下自减,减到0再申请中断,依次循环。

在通用定时器这里不仅可以选择内部72MHZ时钟,还可以选择TIMx_ETR引脚的外部时钟(外部时钟模式2),也可以选择TRGI输入时钟(外部时钟模式1),
外部时钟模式1输入可以是ETR引脚,其他定时器(ITR0-4),TIMx_CH1引脚边沿,TIMx_CH1和TIMx_CH2引脚,这里配置级联模式,较为复杂,后续在输入捕获和测频率时可以用到。6-5输入捕获
在这里插入图片描述

高级定时器框图

高级定时器与通用计数器不同的点在于
1.申请中断的地方,增加了重复次数计数器,可以实现每隔几个计数周期,才发生一个更新事件和更新中断。
2.高级定时器对输出比较模块的升级,通过DTG,可以生成互补的PWM波,主要驱动三相无刷电机,在四轴飞行器,电动车后轮,电钻等等
在这里插入图片描述

定时器中断基本结构

这里就是后续写程序需要用到的流程图,后续还有一些时序图,提取重要的是
1.计数器的计数频率,CK_CNT= CK/(PSC+1)
2.计数器溢出频率:也就是中断频率CK_CNT_OV= CK_CNT/(ARR+1) = CK/(PSC+1)/(ARR+1)
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值