找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

(资料分享)51单片机超声波测距时发现只测一次或几次数据就会陷入死循环,现已解决。

查看数: 5389 | 评论数: 4 | 收藏 4
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-3-9 19:43

正文摘要:

在设置发送模式后,有时程序会停留在等待ECHO引脚置1这个while循环里出不来,只要在这个循环里加入防死循环跳出程序即可,此外在设置发送模式成功以后收不到反射回来的信号的while等待中也需要加入防死循环语句。 ...

回复

ID:482935 发表于 2020-5-5 15:36
楼主牛逼!当初做超声波实验的时候就想到这个问题了。。。但是倒是一直没发生死循环卡住的问题就没太在意。 另外楼主如果没有收到echo的1的话,可能是因为一开始20微秒的启动方波给的时常不够,再多给点延时看看。还有我把这个hcsr04朝天射过,感觉它一定时间(很长时间,超过量程最大时间)之后,echo引脚好像必定会置1的,然后根据长短时间再变0。 我看了hcsr04内部也是个单片机,估计里面程序有防止没回波置1的保障的,也就是只要启动发射超声波了,长时间后echo必定会给个置1。
ID:91402 发表于 2020-1-20 16:16
bluewn 发表于 2019-8-18 10:25
不错,方法可行,不过我建议在第一张图里for语句即可实现,执行效率会高点,因为我的中断中flag=1,所以取 ...

程序用的好特别
ID:345548 发表于 2019-8-18 10:25
不错,方法可行,不过我建议在第一张图里for语句即可实现,执行效率会高点,因为我的中断中flag=1,所以取的反,可供参考

51hei浏览器截图20190818102440.png (4.46 KB, 下载次数: 76)

51hei浏览器截图20190818102440.png
ID:271725 发表于 2019-3-14 21:06
有三个警告

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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