我需要等待一段时间,同时检查按钮是否被按下(因此输入是高还是低)。
使用延迟函数很烦人,因为它不能检查在延迟的同时是否发生了什么事情,所以它必须等待1毫秒,检查,等待,检查,等待,检查等等……
你能帮我编写代码吗?我需要同时检查和暂停一段时间。
发布于 2014-07-07 16:08:42
您可以通过第二个条件控制循环来实现这一点。如果你想在每个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 {
//...
}
}
//...
}
https://stackoverflow.com/questions/24605060
复制相似问题