输入捕获的应用
(结合野火资料HAL库开发和F4的参考手册)
输入捕获一般用于脉冲跳变沿事件测量和PWM输入测量
1.测量脉冲或者频率

测量频率
当捕获通道TIx上出现上升沿时,发生第一次捕获,计数器CNT的值会被锁存到捕获寄存器CCR中,而且会进入捕获中断,在中断服务程序中记录一次捕获(用一个标志变量来记录),并把捕获寄存器中的值读取到value1中,但出现第二次上升时,发生第二次捕获,计数器CNT的值会再次被锁存到捕获寄存器CCR中,并再次进入中断,在捕获中断中,把捕获寄存器的值读取到value3中,并清除捕获记录标志。利用value3与value1的差值就可以算出信号的周期(频率)
测量脉宽
当捕获通道TIx出现上升沿时,发生第一次捕获,计数器CNT的值会被所存到捕获寄存器CCR中,而且还会进入捕获重点,在中断服务程序中记录一次捕获(可以用一个标志变量来记录),并把捕获寄存器中的值读取到value1中,然后把捕获边沿改为下降沿捕获,目的是捕获后面的下降沿。当下降沿到来的时候,发生第二次捕获,计数器CNT的值会再次被锁存到捕获寄存器CCR中,并在粗进入捕获终端,在捕获终端后,把捕获寄存器的值读取到value2中,并清除捕获记录标志,然后把捕获边沿改为上升沿捕获
测量脉宽时需要来回切换捕获边沿的极性,如果测量的脉宽时间比较长,定时器会发生溢出,并产生更新中断,可以在更新中断中对溢出标志进行记录处理
PWM输入模式
PWM模式是输入捕获的特例,只能使用通道1,2,不能使用通道3,4,与上述方法相比,这种模式不需要占用2个捕获寄存器

当使用PWM输入模式的时候,一个输入通道(TIx)会占用2个捕获通道(ICx),因此一个定时器只能使用2个输入通道。
假如TI1工作在PWM输入模式
PWM信号输入TI1,会被分成两路,TI1FP1和TI1FP2,其中,一路是周期,另一路是占空比,具体哪一路信号对应周期还是占空比要从程序上设置哪一路信号作为触发输入,作为触发输入的就是周期,另一路就是对应的占空比。作为触发输入的信号还要设置极性,是上升沿捕获还是下降沿捕获,一旦设置好触发输入的极性,另外一路硬件就会自动配置为相反的捕获极性。总之,就是确定输入通道,确定触发信号,然后设置触发信号的极性即可,因为是PWM输入,另一路信号会由硬件配置。使用PWM输入模式是逆序将从模式控制器配置成复位模式(由配置寄存器SMCR的位SMS[2:0]来实现),当启动触发信号开始进行捕获时,同时把计数器CNT复位清0


最低0.47元/天 解锁文章
816





