Forma corretta di millis()

@Datman Funziona grazie, il fatto che ci sia il segno <= nel primo if comporta qualcosa per quanto riguarda l'overflow? Volendo il tempo di accensione del led verde può diventare di circa due ore?

#define  ledrosso 7
#define  ledverde 6
unsigned long t0 = 0;
void setup()
{
  pinMode(ledverde, OUTPUT);
  pinMode(ledrosso, OUTPUT);
}

void loop()
{
blink();
}

void blink() {
if(millis()-t0<=5000) {// Rosso acceso
digitalWrite(ledrosso,HIGH);
digitalWrite(ledverde,LOW);
}
else {
digitalWrite(ledrosso,LOW);
digitalWrite(ledverde,HIGH); 
}
if(millis()-t0>=20000) {
t0=millis();
}
}