STM32通用定时器输入捕获
1.原理
通过检测TIMx_CHx上的边沿信号,在边沿信号发生跳变时,将当前定时器的值(TIMx_CNT)存放到对应的捕获/比较寄存器TIMx_CCRx中,完成一次捕获。
2.设置输入捕获滤波器
1.联系上图,控制寄存器TIMx_CRx中的CKD[1:0]控制图中fDTS(即TDTS)
2.输入捕获模式下的捕获/比较模式寄存器TIMx_CCMR1
设置ICIF[3:0],可以控制输入采样频率和数字滤波器长度。结合寄存器表,例如在上升沿触发时,将ICIF[3:0]设为0011,此时捕获到上升沿时,以fCK_INT的频率,连续采样到8次通道1的高电平,则说明是一个有效的触发,就可以触发输入捕获中断,这样就可以滤除那些高电平脉宽低于8个采样周期的脉冲信号,从而达到滤波的效果。如果不做滤波处理,例如将ICIF[3:0]设为0000,那么只要采集到上升沿,就触发滤波。
3.设置输入捕获的极性
通过捕获/比较使能寄存器(TIMx_CCER)的位1来设置边沿检测器。
4.设置输入捕获映射通道
5.设置输入捕获分频器
通过TIMx_CCMR1控制分频器分频系数。
通过TIMx_CCER的CC1E控制使能。
6.捕获到有效信号可以开启中断