自学内容网 自学内容网

定时器简介

TIM(Timer定时器)简介

在第一部分,我们主要讲的是定时器基本定时的功能,也就是定一个时间,然后让定时器每隔这个时间产生一个中断,来实现每隔一个固定时间执行一段程序的目的,比如你要做个时钟、秒表,或者使用一些程序算法的时候,都需要定时中断的功能,在第二部分,我们主要讲的是定时器输出比较的功能,输出比较这个模块最常见的用途就是产生PWM波形,用手驱动电机等设备,在这个部分,我们将会学习到,使用STM32输出的PWM波形,来驱动舵机和直流电机的例子,在第三部分,我们主要讲的是定时器输入捕获的功能,在这部分,我们将会学习使用输入捕获这个模块来实现测量方波频率的例子,在第四部分,我们再来学习一下定时器的编码器接口,使用这个编码器接口,能够更加方便地读取正交编码器的输出波形,在编码电机测速中,应用也是非常广泛的

使用定时器的外部时钟,可以提供一个更加精准的时钟来计时;或者也可以把外部时钟当做一个计数器,用来统计引脚上电平翻转的次数,毕竟定时器本质上就是一个计数器

定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断(定时器最基本的功能,就是定时触发中断,定时器也是一个计数器,当这个计数器的输入是一个准确可靠的基准时钟的时候,那它在对这个基准时钟进行计数的过程,实际就是计时的过程,比如在STM32中,定时器的基准时钟一般都是主频72MHz,如果我对72MHz计72个数,那就是1MHz也就是1us的时间)

16位计数器(这里计数器就是用来执行计数定时的一个寄存器,每来一个时钟,计数器加1)、预分频器(预分频器,可以对计数器的时钟进行分频,让这个计数更加灵活)、自动重装寄存器(自动重装寄存器就是计数的目标值,就是我想要计多少个时钟申请中断)的时基单元(这些寄存器构成了定时器最核心的部分,我们把这一块电路称为时基单元,这个时基单元里面的计数器、预分频器、自动重装寄存器都是16位的,2的6次方是65536,也就是如果预分频器设置最大,自动重装也设置最大,那定时器的最大的定时时间就是59.65s,接远一分钟),在72MHz计数时钟下可以实现最大59.65s的定时(如果你嫌这个时间还不够长,STM32的定时器还支持级联的模式,也就是一个定时器的输出,当做另一个定时器的输入,最大定时时间就是59.65s再乘以2次65536,8000多年)

不仅具备基本的定时中断功能,而且还包含内外时钟源选择(我们第一部分讲的就是这个定时中断和内外时钟源选择的功能)、输入捕获(第二部分)、输出比较(第三部分)、编码器接口(第四部分)、主从触发模式(第三部分)等多种功能(由手定时器的这个基本结构是非常通用的,很多模块电路都能用到,所以STM32的定时器上拓展了非常多的功能)

根据复杂度和应用场景分为了高级定时器(最复杂)、通用定时器(最常用,课程主要讲这个)、基本定时器(最简单)三种类型

类型编号总线功能
高级定时器TIM1、TIM8APB2拥有通用定时器全部功能,并额外具有重复计数器、死区生成、互补输出、刹车输入等功能(这些功能主要是为了三相无刷电机的驱动设计的,本门课程不涉及)
通用定时器TIM2、TIM3、TIM4、TIM5APB1拥有基本定时器全部功能,并额外具有内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等功能
基本定时器TIM6、TIM7APB1拥有定时中断、主模式触发DAC的功能

编号:因为同一个芯片一般都有很多个定时器。所以TIM后面会跟一个数字

除了TIM18,在库函数中还出现了TIM911等等(这些用不到)

其中,高级定时器连接的是性能更高的APB2总线(这个在RCC开启时钟的时候要注意一下)

STM32F103C8T6定时器资源:TIM1、TIM2、TIM3、TIM4(没有基本定时器,不同型号定时器的数量是不同的)

image-20241114232943815

下面那三个寄存器构成时基单元,预分频器之前,连接的就是基准计数时钟的输入,最终来到了这个位置,由于基本定时器只能选择内部时钟,所以你可以直接认为,这根线直接连到了输入端的这里,也就是内部时钟CK_INT,内部时钟的来源是RCC_TIMxCLK,这里的频率值一般都是系统的主频72MHz,预分频器可以对这个72MHz的计数时钟进行预分频,寄存器写0那就是不分频(输出频率=输入频率=72MHz),写1就是二分频(输出频率=输入频率=36MHz),写2就是三分频,以此类推(这个预分频器是16位的,所以最大值可以写65535,也就是65536分频)

13:00

image-20241114232924856


原文地址:https://blog.csdn.net/weixin_45131087/article/details/143783375

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!