【STM32 Blue Pill编程】-定时器输入捕获与频率计数
定时器输入捕获与频率计数
文章目录
- 定时器输入捕获与频率计数
-
- 1、定时器介绍
- 2、硬件准备及接线
- 2、模块配置
-
- 2.1 定时器配置
- 2.2 串口配置
- 3、信号频率测量计算
- 4、代码实现
在本文中,将介绍在STM32CubeIDE中配置定时器的工作模式为输入捕获模式,并通过编程对外部输入信号进行频率计数,从而实现一个频率计数器。
1、定时器介绍
STM32 Blue Pill开发的 STM32F103C8 MCU配有四个定时器,分别为 TIM1、TIM2、TIM3 和 TIM4。 它们充当时钟并用于跟踪基于时间的事件。 定时器模块可以工作在不同的配置下,例如定时器模式、计数器模式、PWM 模式、输出比较模式等。本文重点介绍在输入捕捉模式下配置定时器模块。
将 STM32的定时器模块配置为输入捕捉模式时,内部源为作为输入捕捉通道引脚的定时器模块提供时钟。 当输入捕捉通道引脚上发生特定事件时,其当前值被捕捉并保存到输入捕捉寄存器TIMx_CCRx。 这将设置相应的 CCXIF 标志并触发中断/DMA(如果已配置)。 捕获/比较寄存器负责在特定 ICx 符号发生转换检测后保护计数器值。
正如在上图中所看到的,捕获通道由一个带有影子寄存器的捕获寄存器、一个由数字滤波器、多路复用器和用于捕获的预分频器组成的输入级以及一个由输出控制和比较器组成的输出级组成。
配置