极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11584|回复: 3

arduino 超声波避障的问题请教

[复制链接]
发表于 2015-12-25 11:52:15 | 显示全部楼层 |阅读模式
arduino 超声波避障有没有好一点的做法,loop在处理其他事务,而这个时间又比较长时,获取不到距离数据,有没有像中断一样的处理方法
回复

使用道具 举报

发表于 2015-12-25 12:27:59 | 显示全部楼层
没太明白你的意思?什么时间比较长获取不到距离数据呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-25 12:31:09 | 显示全部楼层
nnoobbee 发表于 2015-12-25 12:27
没太明白你的意思?什么时间比较长获取不到距离数据呢?

loop 在执行其他事务,比如一个dalay(1000),这短时间不可能获取超声波的距离,再去做判读,能不能在获得距离小于某个值 直接进行中断
回复 支持 反对

使用道具 举报

发表于 2015-12-25 16:24:24 | 显示全部楼层
这样我大概明白你的意思了。中断是一种方法,其实就是你当前的轮询方案也可以实现你想要的功能。比如你可以这样做
  1. unsigned long tick = 0;
  2. loop() {
  3.   if (tick % 100) {
  4.     // every 100 ms goes here
  5.   }
  6.   if (tick % 1000) {
  7.     // every 1000 ms goes here
  8.   }
  9.   tick += 1;  
  10.   delay(1);
  11. }
复制代码
这样清楚了么?注意防止越界什么的问题。
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-15 13:34 , Processed in 0.096963 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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