CubeMX系列教程——13 定时器外部计数

复制定时器PWM输出工程,重命名为Timer_ETR,打开工程。查看原理图使用杜邦线将PF9和PA0连接,使用定时器2的外部计数功能。

CubeMX系列教程——13 定时器外部计数

CubeMX系列教程——13 定时器外部计数选择定时器2,设置外部计数模式

CubeMX系列教程——13 定时器外部计数

设置定时器2的最大计数值,开启自动重装载功能。

CubeMX系列教程——13 定时器外部计数

生成MDK工程,并添加测试代码。打开main.c文件,开启定时器2,启动定时器14的PWM输出。

CubeMX系列教程——13 定时器外部计数

先将定时器2的计数值清零,延迟1s中,获取当前计数器2的值(单位时间内外部计数)。

CubeMX系列教程——13 定时器外部计数

打开time.c文件,设置PWM输出周期为5ms,定时器2每秒技术值应该为1000ms/5ms=200

CubeMX系列教程——13 定时器外部计数

查看定时器2的计数值,每秒钟计数值为200

CubeMX系列教程——13 定时器外部计数

修改PWM输出周期为10ms,定时器2的计数值应为每秒钟1000ms/10ms=100

CubeMX系列教程——13 定时器外部计数

查看定时器2的计数值,计数值为100

CubeMX系列教程——13 定时器外部计数

通过定时器的外部计数功能,可以统计输入的脉冲数,计算频率。这里用的系统自带的延迟函数,实际中可以在开启一个定时器,通过定时器的定时功能使外部计数更准确。