ARM嵌入式学习笔记(五) TIMER(定时器)

1.前言

上一篇文章介绍了Systick嘀嗒定时器控制LED的闪烁,这篇文章我们来介绍一下STM32单片机中的通用定时器的部分,使用定时器来控制两个LED灯的交替闪烁。同样地,我们所使用的硬件设备仍然是STM32RCT6单片机等基础设备,关于单片机的原理图以及LED灯的引脚在前文均已详细介绍,这里我们就不再赘述。

2.定时器详解

什么是定时器

定时器顾名思义就是可以用来定时的,我们可以设置想要的定时时间,然后去做很多事情。STM32的定时器功能很强大,可以用来定时、计数、PWM产生、输入捕获以及定时器中断等,它是存在于STM32单片机中的一个外设。STM32总共有8个定时器,分别是2个高级定时器(TIM1、TIM8),4个通用定时器(TIM2、TIM3、TIM4、TIM5)和2个基本定时器(TIM5、TIM6)。

定时器的时钟详解

先是8MHz的信号经过PLL倍频后送入系统时钟SYSCLK,SYSCLK经过AHB预分频后分别送至APB1和APB2定时器的时钟来自APB1和APB2的的倍频信号,最后经过APB1和APB2的预分频后送入通用定时器时钟。其框图如下所示:

通用定时器的工作原理

通用原理的工作框图如下所示,这个图包含了定时器的工作方式和工作原理。

通用定时器具有向上计数、向下计数、向上向下双向计数模式。

①向上计数模式:计数器从0计数到自动加载值(TIMx_ARR),然后重新从0开始计数并且产生一个计数器溢出事件。

②向下计数模式:计数器从自动装入的值(TIMx_ARR)开始向下计数到0,然后从自动装入的值重新开始,并产生一个计数器向下溢出事件。

③中央对齐模式(向上/向下计数):计数器从0开始计数到自动装入的值-1,产生一个计数器溢出事件,然后向下计数到1并且产生一个计数器溢出事件;然后再从0开始重新计数。

这里我们主要使用向上计数模式,定时器时间有以下计算公式

定时器频率 =((1+TIM_Prescaler )/72M)*(1+TIM_Period )
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值