高频输入捕获的核心矛盾是计数器位宽有限(16位居多)与测量分辨率。建议:1)预分频PSC尽量取1(不分频),让计数器以最高时钟计数,获得最小量化误差;2)不要用单次捕获间隔直接算周期,改用“捕获+溢出计数”的扩展测量法:在捕获中断里记录CCR值,同时用更新中断累计溢出次数,周期=溢出次数×ARR+本次CCR-上次CCR,这样即使信号周期接近或超过ARR也不会丢测量;3)边沿选择上,测频率/周期用上升沿单边沿即可,避免双边沿切换引入软件开销和抖动;若测占空比才用双边沿或PWM输入模式;4)合理设置ARR:让ARR略大于一个信号周期对应的计数值,使溢出中断频率可控(建议溢出中断不超过捕获频率的1/4),既减少中断负载又保留分辨率;5)高频时可考虑用从模式复位(Slave Reset)让计数器在每次上升沿自动清零,直接读CCR得周期,彻底规避溢出问题,但需注意复位延迟带来的固定偏差并做校准。
mcuku 阿沐 · 2026-10-20