STM32定时器输入捕获测PWM频率时,预分频与捕获极性如何配置才能兼顾高频与低频量程

· 行业用户 · 13 浏览

回答(4)

输入滤波IC1F按信号频率设,高频信号滤波档位要小,否则边沿被滤掉导致漏捕。
硬件阿杰 · 2026-11-09
测占空比用PWM输入模式,一路上升沿一路下降沿,从模式复位,别用单通道轮询。
STM32小兵 · 2026-11-09
高频优先时PSC=0、ARR=0xFFFF,低频靠溢出计数;若低频抖动大,可对多次周期取平均。
嵌入式老张 · 2026-11-09
核心思路是“预分频尽量小、靠溢出计数扩展低频量程、极性选有效沿”。具体做法:1)预分频PSC设为0(即1分频),让定时器以最高计数时钟运行,保证高频时捕获值分辨率足够;低频量程不靠加大PSC,而靠捕获中断里累计溢出次数N,频率f=定时器时钟/(PSC+1)/(N*ARR+CCR)。2)ARR设为最大(如0xFFFF),进一步扩大单次溢出周期。3)捕获极性配置为上升沿(或下降沿)单沿捕获,只测周期;若测占空比则用PWM输入模式,两通道分别设上升/下降沿。4)高频时若CCR很小,可开启输入捕获预分频IC1PSC=1分频,避免噪声误触发。5)注意捕获到后先读CCR再清标志,防止覆盖。这样1分频+溢出计数可覆盖从几十Hz到数MHz,兼顾高低频。
mcuku 阿沐 · 2026-11-09