定时器定时器的输入捕获模式与其他模式(如定时中断、PWM输出、互补输出等)在功能定位、硬件机制和应用场景上存在显著差异,这些差异源于它们对定时器核心资源(计数器、比较寄存器、外部引脚)的不同利用方式,以及与外部信号或内部时序的交互逻辑。
输入捕获模式的核心是“感知外部信号”,其设计目标是通过外部引脚实时捕捉信号的边沿变化(上升沿、下降沿或双边沿),并将变化发生时刻的计数器值锁存到捕获寄存器中。这种模式下,定时器的计数器作为“时间标尺”存在,外部信号的状态变化是触发操作的源头,整个过程更像是“外部事件驱动内部记录”——例如,当超声波模块的回声信号从低电平跳变为高电平时,输入捕获会立即记录此时的计数,为后续计算时间差提供依据。它的关键在于对外部信号的被动响应,且精度依赖于计数器的时钟频率和硬件锁存速度,适用于需要测量外部信号周期、脉冲宽度或相位的场景,如转速检测、红外信号解码等。
相比之下,定时中断模式是“内部时序驱动”的典型代表,它完全依赖计数器的溢出事件(或比较匹配事件)来触发操作,与外部信号无关。在这种模式下,用户通过配置计数器的自动重装载值(ARR)设定周期,当计数器计数达到该值时产生溢出,触发中断或DMA请求。其核心功能是提供稳定的时间基准,例如周期性地刷新显示屏、采集传感器数据,本质是用硬件实现精准的“延时”或“周期性任务调度”,与外部信号的状态变化没有直接关联。
PWM输出模式则聚焦于“主动生成信号”,通过计数器与比较寄存器(CCR)的匹配关系来控制输出引脚的电平变化。当计数器值小于比较值时输出高电平,大于等于时输出低电平(或相反),通过调整比较值可改变PWM的占空比,调整自动重装载值可改变周期。这种模式下,定时器主动生成具有特定时序的信号,用于驱动电机、调节LED亮度等,其核心是“内部逻辑控制外部输出”,与输入捕获的“外部信号驱动内部记录”形成鲜明对比。
互补输出模式作为PWM模式的扩展,主要用于需要互补信号的场景(如电机驱动的H桥电路),它能同时输出两路相位相反的PWM信号,并可配置死区时间防止上下桥臂同时导通。这种模式的核心是信号的互补生成与安全保护,与输入捕获的信号检测功能差异显著。
此外,编码器模式虽然也涉及外部信号的输入,但它更侧重于对连续脉冲序列的计数(如电机编码器的A、B相脉冲),通过两个输入引脚的相位关系判断旋转方向和圈数,本质是“对连续运动的量化”;而输入捕获模式更专注于对离散边沿事件的时间点记录,两者在信号处理的逻辑和应用场景上各有侧重。
输入捕获模式以“外部信号事件的时间记录”为核心,定时中断模式以“内部周期性事件的触发”为核心,PWM相关模式以“主动生成时序信号”为核心,这些差异使得它们在嵌入式系统中分别承担着感知外部世界、维持系统时序、驱动外部设备等不同角色,共同构成了
定时器功能的完整生态。