☰
STM32-TIM输入捕获
2026/10/14 3:32:33 网站建设 项目流程

输入捕获介绍:

IC(输入捕获),在输入捕获模式下,当通道输入引脚出现指定电平跳变时,当前CNT的值会被锁存到CCR中。用于测量PWM频率和占空比等数据。

每个高级定时器与通用定时器都有四个输入捕获通道。

频率测量:

输入捕获通道:

第一部分:TI1是CH1的引脚,ICF用于配置滤波器,TI1F经过滤波后的信号,fDTS采样时钟来源

第二部分:边沿检测器用于捕获上升沿与下降沿,CC1P是CCR寄存器用于选择极性,

可以产生TI1FP1,TI1FP2,TI2FP1,TI2FP2,四种连接方式。其中TI是代表不同引脚,FP是代表不同通道。

第三部分:CCS1对数据选择器进行选择,ICPS用于配置分频器,CC1E控制输出使能。

最后将CNT的值转运到CCR里,并且硬件电路可以自动化清除CNT(利用从模式控制器)

主模式与从模式

主模式是可以将定时器内部的外设映射到TRGO引脚,用于触发别的外设。

从模式是接收其他外设用于控制自身定时器运行。

输入捕获基本结构:

解释:信号通过GPIO进入经过滤波器、极性选择等变成TI1FP1信号(上升沿触发),当出现上升沿之后CNT当前计数值转运到CCR中,同时触发从模式清零CNT。

PWMI基本结构

新增了TI1FP2通道,也就是使下降沿触发,使在下降沿时CNT值转运到CCR2中。此时CCR2/CCR1就是占空比。

输入捕获模式测频率代码:

步骤1:开启RCC时钟,打开GPIO与TIM时钟。把GPIO设置成输入模式(上拉)。

步骤2:配置时基单元,使CNT在内部时钟驱动下实现自增运行。

步骤3:配置输入捕获单元,包括滤波器、极性选择、直连或交叉连接、分频器等配置(用结构体)。

步骤4:选择从模式触发源,触发源选择TI1FP1(调用库函数)

步骤5:选择触发之后的操作。(Resert操作)

步骤6:启动定时器。

最后设置一个函数用来读取CCR1的值,并根据这个值计算输入信号频率。

IC部分初始化和获取频率函数:

这部分代码根据步骤进行配置,并新增IC_GetFreq获取频率代码,TIM_GetCapture1用于捕获寄存器的值。这个值一个周期里走了多少个数字脉冲。

主函数代码:

PWMI模式测频率占空比:

也是根据PWMI模式基本结构进行编码,在上个示例的基础上 使用 TIM_PWMIConfig(TIM3,&TIM_ICInitStruct);用来自动把剩下的一个初始化成相反的配置,快捷的把电路配置成PWMI模式。并且多配置了获取占空比的函数,用通道2的·CCR/通道1的CCR就可得到。

主函数代码:

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询