2025-11-08 06:08:34
用定时器2或3因为它们自带捕获功能能精准测时间差。超声波发射后要等回波回来,这个时间差乘0.034就是距离。比如测1米需要83微秒,定时器能记住这83个百万分之一秒。选这个定时器因为便宜又好配,像STM32的定时器2时钟1MHz,算起来误差不到1厘米。
选定时器2或3有两大原因。第一,捕获功能自动抓脉冲头尾,比如HC-SR04发射10us触发信号,回波前沿和后沿的时间差就是测距数据。假设时钟1MHz,83us对应83个计数,算成厘米刚好。第二,这个定时器支持硬件中断,回波结束时自动触发,省电又省事。数据实测显示,用定时器2测2米误差±0.5厘米,比软件计时快10倍。其他定时器比如TIM4虽也能用,但需要自己写中断服务程序,复杂度高。所以选定时器2或3最省心,像树莓派Pico的GP16和GP17引脚就接这个定时器,连电源都不用额外加。
本题链接: