thf1014 发表于 2015-12-25 11:52:15

arduino 超声波避障的问题请教

arduino 超声波避障有没有好一点的做法,loop在处理其他事务,而这个时间又比较长时,获取不到距离数据,有没有像中断一样的处理方法

nnoobbee 发表于 2015-12-25 12:27:59

没太明白你的意思?什么时间比较长获取不到距离数据呢?

thf1014 发表于 2015-12-25 12:31:09

nnoobbee 发表于 2015-12-25 12:27 static/image/common/back.gif
没太明白你的意思?什么时间比较长获取不到距离数据呢?

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

nnoobbee 发表于 2015-12-25 16:24:24

这样我大概明白你的意思了。中断是一种方法,其实就是你当前的轮询方案也可以实现你想要的功能。比如你可以这样做unsigned long tick = 0;
loop() {
if (tick % 100) {
    // every 100 ms goes here
}
if (tick % 1000) {
    // every 1000 ms goes here
}
tick += 1;
delay(1);
}这样清楚了么?注意防止越界什么的问题。
页: [1]
查看完整版本: arduino 超声波避障的问题请教