目录
STM32F407定时器概述
一共14个,包含12个16位计数器和2个32位计数器。
![]()

一、通用定时器(以TIM2~5为例)
1、概述

可以被用于:测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和 PWM)等。
使用定时器预分频器和 RCC 时钟控制器预分频器,脉冲长度和波形周期可以在几个微秒到几个毫秒间调整。
STM32 的每个通用定时器都是完全独立的,没有互相共享的任何资源。
2、计数器框图

1.定时器时钟来源(含内部时钟84MHz和各路外部时钟)产生时基电路时钟源CK_PSC
2.时基电路 3.输入捕获 4.输出比较 5.相关捕获/比较寄存器
图源中文参考手册p393
名词注解:
TIMx_ETR:TIMER外部触发引脚 ETR:外部触发输入
ETRP:分频后的外部触发输入 ETRF:滤波后的外部触发输入
ITRx:内部触发x(由其他定时器触发,也是外部触发方式)(定时器级联时使用)



TI1F_ED:TI1的边沿检测器
TI1FP1/2:滤波后定时器1/2的输入
TRGI:触发输入 TRGO:触发输出
CK_PSC:分频器时钟输入
CK_CNT:定时器时钟。(定时周期的计算就靠它)
TIMx_CHx:TIMER的输入脚 TIx:应该叫做定时器输入信号x
ICx:输入比较x ICxPS:分频后的ICx
OCx:输出捕获x OCxREF:输出参考信号
1)时基电路时钟源CK_PSC的四种来源:

1)内部时钟CK_INT
2)ETRF时钟:定时器外部引脚TIMx_ETR,经过极性选择、边沿检测、预分频器后再经过输入滤波,产生ETRF时钟信号
3)ITR0~ITR3:内部触发输入口,用于定时器级联(一个定时器的输出作为另一个定时器的输入),来自于其他定时器
4)TI1F_ED、TI1FP1、TI1FP2,来源于定时器外部通道引脚TIMx_CH1、TIMx_CH2
CK_PSC经过预分频后生成CK_CNT,为计数器最终的时钟来源。
2)时基单元
可编程定时器的主要模块由一个 16 位/32 位计数器及其相关的自动重装寄存器组成。此计数
器可采用递增方式计数。计数器的时钟可通过预分频器进行分频。
下图为基本定时器框图,截取只为了表达时基单元的结构


时基单元包括:
● 计数器寄存器 (TIMx_CNT)
● 预分频器寄存器 (TIMx_PSC)
● 自动重载寄存器 (TIMx_ARR)

时基电路配置计数器模式为向上/向下/中央对齐:
通用定时器可以向上计数、向下计数、向上向下双向计数。
①向上计数模式:计数器从0计数到自动加载值(

文章详细介绍了STM32F407通用定时器的结构,包括时基电路、预分频器和计数器的工作原理,并提供了内部和外部时钟源的配置方法。通过实例展示了如何设置库函数和寄存器以实现定时器中断,以及中断服务函数的编写。此外,还讨论了如何根据需求配置定时器的溢出时间和中断频率。
 通用定时器与定时器中断实验(含溢出时间Tout计算公式)&spm=1001.2101.3001.5002&articleId=131108948&d=1&t=3&u=87cb55c1b26b4fddb369267e3c467ea2)
1万+

被折叠的 条评论
为什么被折叠?



