我需要使LED閃爍僅100毫秒,循環中的延遲功能使我的代碼非常無響應。用millis替換延遲
if (readString.indexOf("?23") >0){
digitalWrite(23, LOW);
delay(100);
digitalWrite(23, HIGH);
}
有一個簡單的方法與millis
更換delay
只有一次閃爍?我試過這個,但不起作用
unsigned long interval1=1000; // the time we need to wait
unsigned long previousMillis1=0; // millis() returns an unsigned long.
if (readString.indexOf("?22") >0){
if ((unsigned long)(millis() - previousMillis1) >= interval1) {
previousMillis1 = millis();
digitalWrite(22, LOW);
}
digitalWrite(22, HIGH);
你們能幫我嗎?我想不明白。
你可以編輯幷包含完整的'loop()'函數嗎? –
C++ 11的'std :: condition_variable's有一些方法可以在一段指定的時間內等待一個條件變量,這可以用毫秒來指定。 –
你在做C或C++嗎? – alk