输入捕获是STM32单片机定时器的一个功能,其与定时器的输出比较、PWM输出等共用一个引脚和寄存器(寄存器均为CCR)。当为输入时,引脚则为输入模式,输出时引脚则为输出模式。下图为TIM2定时器通道3中的功能配置
定时器通道配置
输入捕获的原理
单片机设定为输入捕获模式时,当单片机捕获的脉冲时,CCR寄存器可立即锁定CNT寄存器中的当前计数值。假定一组脉冲我们设定捕获此脉冲中的上升沿,则我们可以分别读取前后CCR寄存器的数值。读取的两数值相减,再根据定时器的时基,我们即可确定此组输入脉冲的周期。如果采样一个上升沿、一个下降沿,则我们可以确定脉冲的高电平的时长。
输入捕获模式的设定
- 设定定时器的时基,此时基中的CNT寄存器的计数值将传递给CCR寄存器,是输入捕获的时间基准;
- 设定输入捕获的捕获模式,上升沿捕获、下降沿捕获,若设定上升沿捕获,则捕获上升沿;若下降沿捕获,则捕获下降沿;
捕获模式配置
- 设定捕获的分频系数,可以设定不分频、2分频、4分频、8分频,四种模式。假定设置为2分频,则信号发出两个脉冲,单片机捕获一次,4分频、8分频则依次类推;
捕获分频系数设定
- 设定捕获的输入滤波参数。滤波参数为二进制4位,具体功能可依据下图中的数字具体值来进行配置。