我需要等待一段时间,同时检查按钮是否被按下(因此输入是高还是低)。
延迟功能很难用于此,因为它无法检查延迟时是否发生了某些事情,所以它必须等待1 ms,检查,等待,检查,等待,检查等......
你能帮我解决我需要检查和暂停一段时间的编码吗?
答案 0 :(得分:0)
你可以通过第二个条件控制循环来实现。 如果你想在每个arduino主循环中等待20秒,并在这段时间内执行更多代码,你可以按如下方式执行:
unsigned long startTime = millis(); // Number of milliseconds since the program started (unsigned long)
unsigned long intervalTime = 20000UL; // equals 20 seconds
int buttonPin = 3; // used button pin
void loop()
{
while(millis() - startTime < intervalTime){
if(digitalRead(buttonPin)==HIGH){
//...
}
else {
//...
}
}
//...
}