目录
TIM简介
- TIM(Timer)定时器
- 定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断
- 16位计数器、预分频器、自动重装寄存器的时基单元,在72MHz计数时钟下可以实现最大59.65s的定时
- 不仅具备基本的定时中断功能,而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等多种功能
- 根据复杂度和应用场景分为了高级定时器、通用定时器、基本定时器三种类型
定时器类型
STM32F103C8T6定时器资源:TIM1、TIM2、TIM3、TIM4
基本定时器
通用定时器
高级定时器
定时中断基本结构图
时序图
预分频器时序图
- 预分频控制寄存器变化时计数器寄存器不会马上变化(计数频率不变),需要等到本轮事件完成(更新事件置1),计数频率才会产生变化
- 计数器计数频率:CK_CNT = CK_PSC / (PSC + 1)
计数器时序
- CK_INT是内部时钟72HZ
- CNT_EN是时钟使能,高电平启动
- CK_CNT是计数器时钟,因为分频系数是2,所以这个频率是CK_CNT除以2
- 第四行计数器寄存器在CK_CNT每个上升沿自增,当增到0036时发生溢出,产生一个更新事件脉冲,更新中断标志位置1,这个标志位置1后就会触发中断,要在中断程序里手动把它清零
- 计数器溢出频率:CK_CNT_OV = CK_CNT / (ARR + 1) =CK_PSC / (PSC + 1) / (ARR + 1)