我需要等待一段时间,同时检查是否按下了按钮(因此输入是高电平还是低电平)。
使用延迟功能很烦人,因为它无法在延迟时检查是否正在发生某些事情,所以它必须等待 1 毫秒,检查,等待,检查,等待,检查等......
您能帮我同时检查和暂停一段时间的编码吗?
我需要等待一段时间,同时检查是否按下了按钮(因此输入是高电平还是低电平)。
使用延迟功能很烦人,因为它无法在延迟时检查是否正在发生某些事情,所以它必须等待 1 毫秒,检查,等待,检查,等待,检查等......
您能帮我同时检查和暂停一段时间的编码吗?
您可以通过第二个条件控制循环来实现这一点。例如,如果您想在每个 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 {
//...
}
}
//...
}