首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何停止延时功能

如何停止延时功能
EN

Stack Overflow用户
提问于 2013-03-20 22:12:50
回答 1查看 2K关注 0票数 1

当超声波传感器的值小于5 5cm时,我想停止延时功能。我不能使用中断,因为超声波传感器发送数字信号。这是我的代码。这里的时间延迟函数是,forward();delay(4000);实际上,如果声纳读数在4000ms之前小于5 5cm,我想停止这个forward函数

有谁知道我要做什么吗?

代码语言:javascript
复制
void loop {
    if(angleDegrees -10 <headingDegrees && angleDegrees +10 >headingDegrees  ) {
        forward();
        delay(4000);
    }
    if(safeZone>cm) {
        Stop();
    }
    else {
        search();
    }
}   
EN

回答 1

Stack Overflow用户

发布于 2013-04-05 19:47:13

例如,您可以运行循环40次,每次检查超声波传感器读数。例如:

代码语言:javascript
复制
void loop {
if(angleDegrees -10 <headingDegrees && angleDegrees +10 >headingDegrees  ) {
    forward();
    for(int times=0; times<40; times++) //runs 40 times
    { 
        search(); //Check the sensor
        if(cm<safeZone)
        {
            Stop();
            break; //This exits the for loop
        }
        delay(100); //Waits for 100 ms
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15525981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档