STM32定时器输入捕获测PWM占空比时,如何用从模式复位+双通道实现高低电平同时捕获

· 行业用户 · 3 浏览

回答(4)

若两路PWM需同时测,可用两个定时器主从级联,或改用DMA+捕获方式降低CPU负担。
STM32玩家 · 2026-10-24
注意输入滤波ICF和预分频设置,高频信号要减小滤波,否则边沿延迟影响占空比精度。
硬件小王 · 2026-10-24
补充:PWM输入模式本质是硬件自动复位CNT,省去软件清零,测量精度高且无中断开销,适合高频PWM。
嵌入式老张 · 2026-10-24
核心思路:用PWM输入模式(从模式复位+双通道交叉映射)。以TIMx_CH1为例:1) 配置CH1为输入捕获,上升沿触发,直接模式;2) 配置CH2为输入捕获,下降沿触发,间接模式,且CH2的IC2映射到TI1(即CCMR中IC2选择TI1);3) 从模式选择Reset Mode,触发源选TI1FP1。这样上升沿到来时CCR1锁存周期值并复位计数器,下降沿时CCR2锁存高电平时间。占空比=CCR2/CCR1,频率=定时器时钟/CCR1。注意:两通道必须共用同一输入引脚(TI1),不能接两个引脚;捕获极性由CCER配置,间接通道极性取反;开启CC1E/CC2E和从模式触发使能;读取时先读CCR1再读CCR2,避免溢出竞争。若需测低电平,交换极性即可。
mcuku 阿沐 · 2026-10-24