32单片机基础:TIM定时中断

本文详细介绍了STM32中定时器的四个主要功能:基本定时、输出比较、输入捕获和编码器接口,探讨了预分频器、自动重装寄存器以及中断机制。此外,还涉及了内外时钟源选择和高级定时器的特性,如主从触发模式和外部时钟的多种输入选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

STM32中功能最强大,结构最复杂的一个外设——定时器

因为定时器的内容很多,所以本大节总共分为4个部分,8小节。

第一部分:主要讲定时器基本的定时功能,也就是定一个时间,然后让定时器每隔这个时间产生一个中断,来实现每隔一个固定时间执行一段程序的目的,比如你要做一个时钟,秒表,或者使用一些程序算法的时候,都需要用到定时中断的这个功能

第二部分:我们主要讲的是定时器输出比较的功能,输出比较这个模块最常见的用途就是产生PWM波形,用于驱动电机等设备,在这一部分,我们将会学到,使用STM32输出的PWM波形来驱动舵机和直流电机的例子

第三部分:我们主要讲的是定时器输入捕获的功能,在这部分,我们将会学习使用输入捕获这个模块来实现测量方波频率的例子,

第四部分:我们学习一下定时器的编码器接口,使用这个编码器接口,能够更加方便的读取正交编码器的输出波形,在编码电机测速中,应用十分广泛

简介

定时器就是一个计数器,当这个计数器的输入是一个准确可靠的基准时钟的时候,那它在这个基准时钟进行计数的过程,实际上就是计时的过程。比如在STM32中,定时器的基准时钟一般是主频72MHz,如果我对72MHz计72个数,那就是1MHz也就是1us的时间,如果计72000个数,那就是1KHz也就是1ms的时间。

计数器就是用来执行计数定时的一个寄存器,每来一个时钟,计数器加1,

预分频器,可以对计数器的时钟进行分频,让这个计数更加灵活。

自动重装寄存器就是计数的目标值,就是我们想要计多少个时钟申请中断。

这些定时器构成了定时器最核心的部分,我们把这一块电路称为时基单元,都是16位的,也就是65536,也就是如果预分频器设置最大,自动重装也设置最大,那定时器的最大定时时间就是59.65秒,接近一分钟。就是72M/65535/65535,得到的是中断频率。然后取倒数,就是这个时间。这就是最大的定时时间,应该说还是挺长的了,如果觉得不够长,STM32的定时器还支持级联模式,也就是一个定时器的输出,当做另一个定时器的输入,两个级联的话,就是59.65s乘以65536

再乘以65535.

注意:总线是不一样的,这个在RCC开启时钟的时候要注意一下。

不同的型号定时器种类是不同的,使用这个外设之前,一定要查一下它是不是有这个外设。别操到了不存在的外设,

高级定时器的额外功能是为了三相无刷电机的驱动设计的。

 由于基本定时器只能使用内部时钟。所以可以直接认为,连接到控制的那根线直接连到内

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值