Arduino中断延迟功能

时间:2014-10-28 16:57:17

标签: loops arduino interrupt led

在我的下一个项目中,我使用4 Leds延迟(10000)。我需要一个取消这个循环的函数,然后用一个新的延迟值重新开始,例如100.

我启用了中断,当我按下一个按钮时,延迟在一轮之后变为100。我必须等待10秒..可以使用新值重启循环函数吗?

1 个答案:

答案 0 :(得分:1)

哇,这是粗鲁的ignacio 至少是有帮助的。

您可以执行此操作,但不是已实施。

在这种情况下使用延迟并不好。更好的实现方法是使用这样的while循环:

int delayLED = 10000;

int beginMillis = millis();

while( millis() - beginMillis < delayLED)
{
    // insert the code for your "interrupt" here
    // kinda like this
    if(button pressed)
    {
        delayLED = 100;
        break;
    }
}

这只是一个模板而不是完整的答案。 如果您还有其他问题,请与我们联系。

快乐的编码!