开发者学堂课程【嵌入式之RFID开发与应用2020版:定时器介绍】学习笔记与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/665/detail/11161
定时器介绍
内容介绍:
一、定时器功能介绍
二、各定时器特点介绍
一、定时器功能介绍
本节课介绍定时器,是非常重要的资源,在STM32中定时器最多包括高级、通用、基本、八个定时器分别从TIM1-TIM8
定时器的用法很多,每个定时器均可以独立的去编程,独立的去设置预分频,然后设置自动重载的计数值,每一个计数范围均是16位,意味着最大计数值为6535。
并且分为单向计数和双向计数,双向计数相当于将计数范围扩大一倍。
并且由于定时器相对独立,可以选择八个定时器同时工作。
而且其中6个定时器除基本定时外,均可以输出PWM,还可以捕获输入,1和8定时器相对高级,可进行互补输出。
输入捕获及从外界进行脉冲,比如工程的传送带,传送带一直在滚动,安装红外收发器,可判断流经传送带的货物个数从而产生脉冲。
二、各定时器特点介绍
接下来介绍各个定时器的特点
高级定时器:1和8为高级定时器可以进行互补输出,主要在电击驱动中,负责相关功能 如访时区的功能
通用定时器和高级定时器均支持捕获/比较通道为定时器1,8,2,3,4,5。而基本定时器则不能,所以最基本的定时器为6,7
所以三者区别为是否支持比较通道,基本定时器并不支持,但是1-5定时器和8定时器可以支持,而定时器6和7并不支持,只能定时,给它频率即可一直加加,加满后清空再加加,而且只能朝一个方向加,向上。
所以基本定时器缺少三个功能无法捕获、比较通道和向下计数。
通用计时器功能基本均有,双向计数,支持捕获和比较通道,而高级定时器可进行互补输出。使用时可合理选择。
高级定时器 |
定时器 |
-教器分辨率 |
计教器类型| |
预分频系数 |
产生DA |
捕获/比较通道 |
互补输出 |
TIM1 |
16位 |
向上7向下 |
65535 |
可以 |
4 |
有 |
|
TIM8 |
16位 |
向上/向卞 |
65535 |
可以 |
4 |
有 |
|
|
|
|
|
|
|
|
|
通用定时器 |
|||||||
TIM2 |
16位 |
向上/向下 |
1~65535 |
可以 |
4 |
没有 |
|
TIM3 |
16位 |
向上/向下 |
65535 |
可以 |
4 |
没有 |
|
TIM4 |
16位 |
向上/下 |
65535 |
可以 |
4] |
没有 |
|
TIM5 |
16位 |
向上/向卞 |
65535 |
可以 |
4 |
没有 |
|
基本定时器 |
|
|
|
|
|
|
|
TIM6 |
16位 |
向上 |
1~65535 |
可以 |
0 |
没有 |
|
TIM7 |
16位 |
向上 |
1~65535 |
可以 |
0 |
没有 |
三、工作流程
可以从输入的定时频率来判断时钟来源,定时器也可以看时钟来源可看,到来自APB2,知道总线,才可以知道频率
根据频率进行预分频,开始计数,并在完成后进行重转,每次计数完成后将输出信号,产生中断或者设置标志位,前面表示数据来源可能来自外部,及外部时钟。
最后通过固件库完成定时功能,通过看代码,通过计算公式如下图,来完成定时功能。