Is a timed 1 sec while() loop functionally equivalent to a delay(1000) ?

No, totally different.

blocks anything else from happening.

Blocks out only whatever is outside that while loop for the time frame indicated.

So you might do this instead:

while(millis() - previousMillis < LCD_DELAY){
previousMillis = millis(); // thanks, DaveX, i was racing you and neglected to update the timer
// some other stuff you want to happen during that millis() driven countdown
}
1 Like