STM32外设--TIM定时器

目录

前言

一、TIM定时器

1、基本功能:对输入时钟进行计数,当计数值达到预定值时触发中断。

2、时基单元:16位的计数器、预分频器、自动重装寄存器。

计数器

预分频器

自动重装寄存器

二、定时器分类



前言

个人学习整理,仅供参考,如有错误之处烦请指正。


一、TIM定时器

1、基本功能:对输入时钟进行计数,当计数值达到预定值时触发中断。

stm32中基准时钟一般为72MHz,也就是说1秒能计数72M次==72000000次,那么我如果设定触发中断的值为72次,那么只需要1微秒;如果是72000次,需要1ms。

2、时基单元:16位的计数器、预分频器、自动重装寄存器。

在72MHz计数时钟下可实现最大59.65秒的定时。

这个59.65≈65536*65536/72000000.那这个59.65是怎么算的呢?

 首先初始的频率为72MHz,来到预分频器,如果预分频器是0,那么频率不变,如果是1,那么频率变为(72/(1+1))MHz。如果是2,那么频率变为(72/(2+1))MHz。以此类推,因为它是一个16位的寄存器,所以最大是65535(因为是从零开始),所以当预分频器为最大时频率变为(72/(65535+1))MHz,也就是(72/65536)MHz.第二个65536是怎么来的?当自动重装寄存器最大时,也就是65535,CNT计数器要到65535才可以触发中断,但是下一次还是要从零开始,所以这里要给它再加1归零,所以是65536,预分频器的加1也是这样。

小总结:72000000/65536得到当前经过预分频器的频率,也就是说1秒能计数这么多次。现在要求计次数为65536,需要的时间就是用要求计次的65536/1秒计次数(72000000/65536)。最后的结果就约等于59.65s。(可以参考一下开头的那个换算)

计数器

16位,执行计数的寄存器,来一个时钟就加一。向上计数模式:从0计数到重装值,再归零。

预分频器

16位,对时钟频率按照设定值进行改变。

自动重装寄存器

16位,存储计数的目标值。

二、定时器分类

类型  高级定时器              通用定时器  基本定时器
编号TIM1、TIM8   TIM2、TIM3、TIM4、TIM5TIM6、TIM7
总线     APB2                  APB1       APB1

具体有哪些定时器要看自己单片机型号对应数据手册。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值