CubeMX系列教程——11 定时器输入捕获

查看原理图 ,将PF9输出的PWM通过杜邦线接到PA0-定时器5的通道1。

CubeMX系列教程——11 定时器输入捕获

CubeMX系列教程——11 定时器输入捕获

打开上一章工程,设置定时器5设置为输入捕获模式

CubeMX系列教程——11 定时器输入捕获

设置定时器5的参数,上升沿捕获,时钟分频84MHz/(83+1)=1MHz,最大计数值为0xFFFFFFFF;

CubeMX系列教程——11 定时器输入捕获

打开定时器5的中断

CubeMX系列教程——11 定时器输入捕获

生成MDK工程,并打开time.c添加测试代码

CubeMX系列教程——11 定时器输入捕获

在main.c中添加代码

CubeMX系列教程——11 定时器输入捕获

PWM输出时钟周期为50ms

CubeMX系列教程——11 定时器输入捕获

编译代码,下载到开发板,查看捕获的时间变量如下

CubeMX系列教程——11 定时器输入捕获

修改PWM输出的时钟周期为30ms

CubeMX系列教程——11 定时器输入捕获

查看结果

CubeMX系列教程——11 定时器输入捕获

知道PWM的周期时间,则可以求出频率。f=1/T。

修改代码,使用示波器查看PWM的输出频率为47.61kHz

CubeMX系列教程——11 定时器输入捕获

捕获到的PWM频率为47619hz≈47.61KHz,测试完毕。

CubeMX系列教程——11 定时器输入捕获