【stm32入门教程】TIM定时中断

一、简介

二、类型

三、工作原理

基本定时器

这部分电路叫时基单元

预分频器之前连接的是基准计数时钟的输入,由于基本定时器只能连接内部时钟,因此直接连接到了输入端 72mhz时钟

预分频器

如果预分频器写0 不分频或者是1分频 这时候输出频率等于输入频率等于72mhz

如果写1 就是2分频,输出频率等于输入频率2

如果写2就是3分频,输出等于输入频率/3 以此类推

所以预分频器的值和实际的系数相差1 实际分频系数=预分频器的值+1,这个预分频器是16位,最大值可以写65535,也就是65536分频,

预分频器就是对输入的频率提前进行一个分频的操作

计数器

对预分频后的计数时钟进行计数,计数时钟每来一个上升沿,计数时钟就加一,这个计数器也是16位的,可以从0加到65535,再加就会回到0从新开始,计数值在不断进行自增运行,当达到目标值时产生中断就完成了定时的任务

自动重装寄存器------存储目标值

运行过程中,计数值不断自增,自动重装值是固定的目标,当计数值等于自动重装值时,也就是计数时间到了,就会产生一个中断信号,并且清零计数器,计数器自动开始下一次的计数计时

这个图代表这里会产生中断信号,像这种计数值等于计数重装值产生的中断,一般把它叫做更新中断,这个更新中断之后就会通往NVIC,在配置好NVIC的定时器通道,定时器的更新中断就会得到CPU的响应

这个图代表会产生一个事件,叫更新事件,更新事件不会触发中断但可以触发内部其他电路工作

主模式触发DAC功能

这样定时器的更新就不用通过中断来触发DAC了,仅需要把更新事件通过主模式映射到TRGO,然后TRGO就会直接去触发DAC了,整个过程不需要软件参与,实现了硬件的自动化,这就是主模式的作用

通用定时器

计数方式

此时的计数器不只有向上计数这一种方式

通用定时器还支持向下计数 就是从重装值开始,向下自减,减到0之后回到重装值同时申请中断,然后进入下一轮,依次循环

还有中央定时计数模式,先向上自增,然后再自减,依次循环

时钟源选择

通用定时器不仅可以选择内部72mhz时钟,还可以选择外部时钟,第一个外部时钟就是来自tim,根据引脚定义选择TIM2_CH1_ETR,也就是在该引脚上接一个外部方波时钟,然后配置一下内部的极性选择,边沿检测和预分频器电路,在配置一下输入滤波电路,这些电路可以对外部时钟进行整形,因为是外部引脚的时钟,所以难免会有一些毛刺,这些电路可以进行滤波同时可以选择极性和预分频器

这一步叫外部时钟模式2

除了ETR引脚可以提供时钟外,下面的TRGI也可以提供时钟,这一路主要是用做触发输入来来使用的,触发输入可以触发定时器的从模式,这一路叫做外部时钟的输入1,这一路会占用触发输入的通道而已

这一部分是为了定时器的级联

高级定时器

可以实现每隔几个周期更新一次,可以实现对输出的更新信号又做了一次分频

这些电路是为了驱动无刷电机的这些电路还是比较常用的

在开关导通的瞬间生成一定的死区防止直通现象

最后一部分刹车输入,给电路提供安全保障

四、结构图

相关推荐
驴友花雕4 小时前
【花雕动手做】行空板 K10 系列实验之人工智能语音识别小车的10个参考案例
人工智能·单片机·嵌入式硬件·语音识别·行空板 k10 系列实验·花雕动手做·小车的10个参考案例
hsjiasb4 小时前
FreeRTOS学习(二十七)——任务栈与栈溢出检测
开发语言·stm32·学习·学习笔记·freertos
日拱一卒的小田10 小时前
ZYNQ学习笔记3-ZYNQ的IIC控制器1
笔记·单片机·学习
cardinal_50810 小时前
STM32MP157F-DK2开发板构建交叉编译链
stm32·单片机·嵌入式硬件
小羊先生car11 小时前
F429-HAL-RS485(回环/双机实验)(2026/8/16)
c语言·单片机·嵌入式硬件·软件构建
木白CPP11 小时前
Linux 驱动UART子系统源码分析
linux·运维·服务器·驱动开发·嵌入式硬件·开源软件
zlinear数据采集卡13 小时前
数据采集卡从入门到精通(10):采样率与分辨率的核心关系——反比律、架构分布与过采样
arm开发·嵌入式硬件·算法·fpga开发·架构·开源
水果里面有苹果14 小时前
33-TPS62130RGTR-3A降压器
嵌入式硬件
振南的单片机世界15 小时前
推挽vs开漏:一个“强拉硬灌”,一个“只拉不管”
arm开发·stm32·单片机·嵌入式硬件
小心亦新16 小时前
STM32学习23--I2C-1
stm32·嵌入式硬件·学习