在我的下一个项目中,我使用4 Leds延迟(10000)。我需要一个取消这个循环的函数,然后用一个新的延迟值重新开始,例如100.
我启用了中断,当我按下一个按钮时,延迟在一轮之后变为100。我必须等待10秒..可以使用新值重启循环函数吗?
答案 0 :(得分:1)
您可以执行此操作,但不是已实施。
在这种情况下使用延迟并不好。更好的实现方法是使用这样的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;
}
}
这只是一个模板而不是完整的答案。 如果您还有其他问题,请与我们联系。
快乐的编码!