野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10176|回复: 4

SFR05超声波测距,用外部中断方式,测距不准而且有抖动变化大,希望大家看看

[复制链接]
发表于 2017-4-18 17:33:51 | 显示全部楼层 |阅读模式
本帖最后由 赵怡彬 于 2017-4-18 18:20 编辑

我没有用输入捕获,也不是在while循环里判断,而是用外部中断我定时器配置1us计数频率,然后再中断函数里计算距离,但是有点问题,首先数据不准确,而且数据抖动很大,不知道啥原因,但从原理上来说我这样检测应该是没问题的呀,而且反而比while循环检测好。网上好多要么是定时器输入捕获,要么是while循环判断,没有用外部引脚中断的,我觉得这也是一种好方法,希望大家帮我看看,哪里有问题
搜狗截图20170418172409.png 搜狗截图20170418172733.png 搜狗截图20170418172801.png


回复

使用道具 举报

发表于 2017-4-18 18:30:26 | 显示全部楼层
可能是定时器用us中断太频繁
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-19 12:55:28 | 显示全部楼层
南门静美 发表于 2017-4-18 18:30
可能是定时器用us中断太频繁

我没用定时器中断
回复 支持 反对

使用道具 举报

发表于 2017-4-20 09:05:02 | 显示全部楼层
我猜的,中断函数部分,一旦有中断发生,肯定会执行中断函数中两个中的一个,要么关闭定时器计算数值、要么打开定时器清空数据,如果过来一个干扰信号就会计算错误。我的方法的1、进入中断延时一会,开始和结束都有延时,不会对计算结果有影响;2、加上前后状态对比,记住上次中断是下降沿还是上升沿,必须和这次中断不一样。
回复 支持 反对

使用道具 举报

发表于 2019-4-24 17:00:13 | 显示全部楼层
加电容,硬件消抖,效果好
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-5 19:55 , Processed in 0.050296 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表