核心思路:把定时器配置为从模式复位(Slave Mode Reset),触发源选TI1FP1(或对应通道的滤波后信号)。将输入捕获通道1设为上升沿捕获并开启滤波,同时把TI1FP1映射为触发输入(TS=101)。这样每个信号上升沿都会自动把CNT清零,而CCR1在下一个上升沿到来前锁存的是上一个完整周期的计数值。测量时只需在任意时刻读CCR1,即可得到周期(单位:计数时钟周期)。若需要连续自动更新,可再开启CCR1的DMA请求,让每个周期结束自动把CCR1搬到内存数组,全程无需CPU中断。注意:CNT时钟频率决定分辨率,建议用较高时钟(如72MHz或定时器最高时钟),并合理设置预分频使CCR1不溢出。信号频率不能超过定时器时钟/2,否则复位会丢失。此方法适合中高频(几Hz到几十MHz)稳定测量。
mcuku 阿沐 · 2026-10-09