STM32T通用定时器

TIM定时器

1,定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断。
2,16位计数器、预分频器、自动重装寄存器的时基单元,在72MHz计数时钟下可以实现最大59.65s的定时。
3,不仅具备基本的定时中断功能,而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等多种功能。
4,根据复杂度和应用场景分为了高级定时器、通用定时器、基本定时器三种类型。
在这里插入图片描述
而我们通常使用的STM32F103C8T6定时器资源有这几种:TIM1、TIM2、TIM3、TIM4

TIMX内部结构以及特性

在这里插入图片描述

通用定时器的时钟

如图上图98所示,当通用定时器使用内部时钟作为时钟源时,时钟CK_ INT 来自APBI:当APB1预分频系数(AHB/APB1)为1时,CK_ PSC 的频率就是APB1的频率;当APBI的预分频系数不为1时,CK PSC的频率就是APB1频率的2倍。例如,AHB时钟频率是72MHz, APB1时钟频率是36MHz,则APB1的预分频系数为AHB/APB1=2,不为1.故CK_ PSC 的频率= APB1X2=72MHz。CK_ PsC时钟经过PSC预分频器分频后,生成CK_CNT时钟,CK_ CNT 频率=CK_ PSC 频率/(PSC+ 1),其中PSC是分频器的分频系数。CK_CNT时钟就是通用定时器的时钟。

时基单元

可编程通用定时器的主要部分是一- 个16 位计数器和与其相关的自动装载寄存器预分频寄存器。这个计数器可以向上计数、向下计数或者向上/向下双向计数。此计数器时钟是前面提到的CK_ CNT时钟。计数器、自动装载寄存器和预分频器寄存器可以由软件读写,在计数器运行时仍可以读写。
时基单元包含计数器寄存器(TIMx_ CNT)、预分频器寄存器(TIMx_ PSC) 和自动装载寄存器(TIMx_ ARR)。 其中计数器寄存器(TIMx_ CNT)偏移地址为0x24,复位值为0x0000,位域图和详细叙述见图7.2和表7.1;预分频器寄存器(TIMx_ PSC) 偏移地址为0x28,复位值为0x0000,位域图和详细叙述见图7. 3和表7.2
在这里插入图片描述
在这里插入图片描述

从最开始的图98可以观察自动装载寄存器(TIMx_ ARR)下有阴影,表示此处有影子寄存器,即写自动装载寄存器(TIMx_ ARR)时,并不能立即起作用,需要将自动装载寄存器TIMx_ ARR的值送人影子寄存器后才能起作用。可以编程设置自动装载寄存器TIMx_ ARR的内容被立即或在每次的更新事件(一般是指计数器溢出)时传送到影子寄存器。

计数器模式

计数器有3种计数模式

向上计数模式

在向上计数模式中,计数器从0计数到自动加载值(TIMx_ ARR寄存器的内容个,然后重新从0开始计数并且产生一个计数器溢出事件,每次计数器溢出时可以产生更新事件。15所示为内部时钟分频因子为2,自动装载寄存器(TIMx. ARR)值为0x36时的时序图。
在这里插入图片描述
2.向下计数模式

在向下模式中,计数器从自动装人的值(TIMx_ARR的值)开始向下计数到0,然后
自动装入的值重新开始并且产生一个计数器向下溢出事件,每次计数器溢出时可以产生更新事件。图7.6所示为内部时钟分频因子为2,自动装载寄存器(TIMx_ ARR)值为0x36时的时序图。
在这里插入图片描述

3.中央对齐(向上/向下双向计数)模式

在中央对齐模式,计数器从0开始计数到自动加载的值(TIMx_ ARR寄存器)- -1.产生一个计数器溢出事件,然后向下计数到1并且产生一个计数器下溢事件;接着再从0开始重新计数,可以在每次计数上溢和每次计数下溢时产生更新事件。如图7.7所示为内部时钟分额因子为1.自动装载寄存器(TIMx_ ARR)值为0x6时的时序图。
在这里插入图片描述
结束

  • 15
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值