输入捕获(Input Capture,IC)是定时器的一种模式,它允许 MCU 精确记录外部信号发生变化的时间(通常是上升沿或下降沿)。
输入捕获通道(Input Capture Channel)与定时器配合,在检测到输入信号的边沿时,将当前定时器的计数值保存到寄存器中。
测量时间是定时器永恒的话题。
输入捕获模式通常与定时器配合工作,定时器不断计数,而当输入信号的边沿变化时,定时器的当前值会被保存到输入捕获寄存器(ICR)中。
定时器运行,计数器 CNT 以设定的时钟递增。
外部信号(PWM、方波、传感器信号等)输入到定时器的输入捕获通道(TIMx_CHx)。
当输入信号的指定边沿(上升沿/下降沿)被检测到:MCU 立即将当前定时器 CNT 计数值保存到 ICR(输入捕获寄存器)。
产生一个输入捕获事件(Capture Event),可以触发中断或 DMA 传输。应用程序读取捕获寄存器的值,计算信号的频率或脉冲宽度。
三种触发模式:
简单来说就是这个事件发生,记录一下时间,一做差就有了。
这是一些寄存器,不做具体的指定,大概就是有这些功能
使用输入捕获通道测量 PWM 信号的周期,从而计算频率。
设 T1 为检测到第一个上升沿时的 CNT 值,T2 为下一个上升沿的 CNT 值。
1微S一次,回调函数里面计数