TIM简介
•
TIM
(
Timer
)定时器
•
定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断
•
16
位计数器、预分频器、自动重装寄存器的时基单元,在
72MHz
计数时钟下可以实现最大
59.65s
的定时
•
不仅具备基本的定时中断功能,而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等多种功能
•
根据复杂度和应用场景分为了高级定时器、通用定时器、基本定时器三种类型定时器类型定时器类型
定时器类型
这三种定时器由高到低向下兼容
•STM32F103C8T6定时器资源:TIM1、TIM2、TIM3、TIM4
基本定时器设置
红字为时基单元,上方接RCC(72HZ),如果预分频器写1就是2分频,输出频率=输入频率/2=36HZ
如果写2就是3分频就除以3(16位)
上面箭头为更新中断(CPU响应,完成定时任务)
下面箭头为更新事件
主模式触发DAC
通用定时器
通用定时器和高级定时器支持向下计数模式和中央对齐模式
内外时钟源选择和主从触发模式
通用定时器的时钟源不仅可以选择内部的72MHz时钟,还可以选择外部时钟。
第一个外部时钟就是来自TIMx_ETR引脚上,可以在这个引脚上接一个外部方波时钟,配置内部的极性选择、边沿检测和预分频电路,再配置输入滤波电路,这两个电路可以对输入的波形进行滤波。下左为输入捕获电路,可用于测量输入方波的频率等,中间的寄存器是捕获/比较寄存器,是输出捕获和输出比较电路公用的,引脚也是公用的。
高级定时器
增加了计时器,可以实现每隔几个周期再更新一次
下面的更新是高级定时器对输出比较模块的升级
预分频器时序
•
计数器计数频率:
CK_CNT
= CK_PSC
/ (PSC
+ 1)
计时器时序
•
计数器溢出频率:
CK_CNT_OV = CK_CNT / (ARR
+ 1)
= CK_PSC / (PSC + 1) / (ARR + 1)
计数器无预装时序计时器
计时器无预装时序
计时器有预装时序
计数器无预装时序