1. 高级控制定时器输入捕获机制深度解析
在STM32高级控制定时器(如TIM1、TIM8)的工程实践中,输入捕获功能是实现高精度信号参数测量的核心能力。它并非简单的电平读取,而是一套由硬件自动完成的时序采集、滤波、边沿检测与时间戳记录的完整流水线。理解其内部数据通路与寄存器协同逻辑,是避免配置错误、时序偏差及系统异常的关键。本节将完全基于STM32F103系列参考手册(RM0008)与数据手册(DS5383)的技术定义,逐层拆解输入捕获从物理引脚到CPU可读寄存器的全链路行为。
1.1 输入捕获的物理基础与资源约束
高级控制定时器的输入捕获通道(TI1–TI4)与输出比较通道共享同一组GPIO引脚资源,这是由其硬件架构决定的根本性约束。以TIM1为例,其通道1(CH1)对应PA8引脚,该引脚在复位后默认为通用IO模式。当配置为输入捕获功能时,PA8被重映射为TI1输入;当配置为PWM输出时,PA8则作为OC1输出。这种复用关系并非软件层面的“功能切换”,而是硬件信号路径的物理选择——同一时刻,TIx引脚只能承载一种信号流向:要么作为外部事件的输入源,要么作为定时器内部计数器的输出驱动。
更关键的是,整个定时器的所有通道必须统一工作在输入捕获或输出比较模式下,不可混用。例如,无法将TIM1_CH1配置为捕获外部脉冲宽度,同时将TIM1_CH2配置为生成互补PWM波形。这是因为捕获与比较功能共用核心的捕获/比较寄存器(CCR1–CCR4)、输入捕获模式寄存器(CCMR1/CCMR2)以及触发控制逻辑。若强行混合配置,会导致寄存器位域冲突、触发信号紊乱,最终使定时器行为不可预测。工程实践中,若需同时进行信号捕获与波形生成,标准方案是采用两个独