定时器输入捕获如何测频率和占空比?为什么测量会跳变?-STM32面试

浏览量:6
时间: 2026-11-05 11:42:04

ENGINEER INTERVIEW · 嵌入式单片机 / 03

STM32定时器输入捕获面试题,讲解TIM输入捕获CCR、PSC、计数溢出、频率计算、PWM Input模式和滤波调试。

面试回答,先讲核心结论

定时器输入捕获是在输入边沿到来时把当前计数器值锁存到CCR寄存器。连续两次相同边沿的计数差可用于计算周期和频率;若需要占空比,还要测出高电平持续时间,并处理计数器溢出和输入抖动。结果跳变常与定时器时钟、计数溢出、滤波、边沿选择及ISR处理有关。

01 / 输入捕获与PWM输出有什么本质区别

PWM输出由定时器比较事件主动改变输出引脚;输入捕获则被外部信号的边沿触发,将某一时刻的计数值写入CCR。两者都用到定时器,但寄存器作用和数据方向不同。

例如定时器计数频率为1 MHz,连续两个上升沿之间捕获差为1000个计数,则被测信号的周期约1 ms,频率约1 kHz;这是假设未漏掉溢出且计数频率正确的情形。

STM32CubeMX TIM2输入捕获参数设置截图:预分频器、边沿极性、输入滤波和计数周期

02 / 占空比计算中最容易漏掉什么

只捕获两个上升沿只能获得周期,不能直接得到高电平持续时间。可以额外捕获下降沿,或者使用器件支持的PWM Input组合模式,计算高电平计数与周期计数的比值。

对于16位计数器,若两次边沿之间超过ARR设置的计数范围,应处理溢出次数。极低频信号可调整预分频,极高频信号则要兼顾定时器分辨率和ISR/DMA吞吐量。

03 / 为什么明明输入稳定,测量值仍会飘

01.检查引脚是否配置到正确的定时器复用功能、定时器实际内核时钟、边沿极性及数字滤波;若输入边沿有毛刺或机械抖动,可能捕获到多余边沿。

02.采用逻辑分析仪或示波器对照真实信号,统计捕获值;软件处理时避免两次捕获读取竞争,必要时使用DMA或滤波,不应直接把个别异常值平均掉。

面试中容易失分的地方

把STM32 APB外设时钟直接当定时器时钟,或计算占空比时把CCR直接除以ARR,往往会得到错误的结果。

面试官可能继续追问

对于1 Hz到100 kHz跨度很大的输入频率,你会怎样选择PSC、计数器位宽与溢出策略?


声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。仅供学习交流使用,不构成商业目的。版权归原作者所有,如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时删除。侵权投诉
相关推荐HOT
Linux驱动开发中ioctl怎么实现

分类:嵌入式Linux 经验级别:中级 难度:中等 题型:技术论述题本文概述ioctl是Linux字符设备驱动中最常用的控制接口,用户空间通过它向驱动发送控制命... 详情>>

2026-08-20 10:00:00
运放比较器为什么要加迟滞?输入在阈值附近时,输出抖动怎么解决?

运放比较器为什么要加迟滞?输入在阈值附近时,输出抖动怎么解决?一个传感器电压缓慢上升,输出刚翻转又马上翻回去;输入只变化了几毫伏,数字信号却连续跳变。面试官问“... 详情>>

2026-10-19 14:18:21
STM32的SPI通信怎么配置?嵌入式面试SPI四种工作模式与数据收发实现

本文概述STM32的SPI通信配置是嵌入式面试中的基础必考题,考察点涵盖SPI协议原理、四种工作模式、主从机配置流程和实际调试经验。SPI是全双工同步串行接口,... 详情>>

2026-08-25 10:13:35
一块板能焊好,却不好返修:PCB布局的维修空间到底应该怎么评审?

PCB设计 · 可维修性 / DFA / 器件布局初版板子电测都通过了,维修人员却反馈:换一个电容,要先拆两颗连接器,还可能烫坏旁边的塑料件。此时不宜只回答“焊... 详情>>

2026-10-28 20:35:25
比较器输出反复跳变怎样排查?硬件面试要讲清迟滞、噪声和输入边界

题库分类:硬件设计适合经验:0—5年难度:中高级题型:模拟电路排查题 + 参数权衡题面试题传感器信号缓慢经过阈值时,比较器输出出现多次跳变,你会怎样排查并设计迟... 详情>>

2026-08-01 17:47:37
开班信息