STM32自学笔记(二)——通用定时器

一、寄存器描述

在这17个寄存器里,我们需要的清楚掌握的是:控制寄存器1(TIMx_CR1)、DMA/中断使能寄存器(TIMx_DIER)、状态寄存器(TIMx_SR)、计数器(TIMx_CNT)、预分频器(TIMx_PSC)、自动重装载寄存器(TIMx_ARR),接下来一一讲解。

二、控制寄存器1(TIMx_CR1)

 共16位,其中有效位有十位,0位为使能计数器。1,2,3位不重要不说。4位用来设置是向上计数还是向下计数。5、6位用来选择中央对齐模式,通俗来说,就是计数器交替得向上或向下计数,可配置为只在计数器向下计数时被设置、只在计数器向上计数时被设置、在计数器向上和向下计数时均被设置或者计数器依据方向位(DIR)向上或向下计数。需要注意的是,如果设置中央对齐模式,则DIR无效,即4位无效。7位是自动重装载预装载允许位,具体来说,是否需要自动重装载,如果是则到达计数上限后自动装载到寄存器,产生一次中断。

三、DMA/中断使能寄存器(TIMx_DIER)

 共16位,有12位有效位,这个寄存器里需要注意的是0位为允许中断更新,1、2、3、4位为通道允许捕获/比较中断。

四、状态寄存器(TIMx_SR)

 共16位,10位有效位,这个寄存器需要注意的是0位,更新中断标记,如果产生了中断,这个位会被软件或者硬件置1。

五、计数器(TIMx_CNT)

 共16位,用来存放需要计数的数值,比如我们需要计数为10000,那么就需要将这个寄存器的值设置为9999,那么就需要将0010 0111 0000 1111装入到每一个位。

六、预分频器(TIMx_PSC)

通用定时器挂载在APB1上,定时器的频率与所在APB的总线频率不一致,则定时器的时钟频率被设置为APB总线频率的2倍。CK_CNT为定时频率,Fck_psc为工作频率。例如:10KHZ =

72MHZ/(PSC+1),则PSC=7199,则需要将0001110000011111装入到每一个位。10KHZ相当于0.1ms计数一次,如果需要计数1s,那么就需要将上面的计数器值设置为9999。

七、自动重装载寄存器(TIMx_ARR)

 这个寄存器里存储了CNT计数器的值,CNT随着时钟精确的计数,向上,向下,或者双向,如果向下计数,当计数到0后,重新装载原先的那个值而这个值放在另一个寄存器中,因为这个值是重新装载时需要的值,也就叫这个寄存器为自动重装载寄存器。

八、实例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值