el siguiente es el enlace la fuente consultada.
http://wiki.pinguino.cc/index.php/Millis
Explicación
millis - retorna el tiempo trancurrido desde que inicia el programa.
Cuando el programa comienza el timer interno TMR0 es inicializado en 0. TMR0 es un registro de 16 bits que se incrementa en uno cada milisegundo. Al ser de 16 bits llega a overflow despues de incrementarse cada milisegundo hasta 65536 lo que corresponde a 65.536 segundos. Como funcion millis() retorna el valor actual de TMR0.
Declaración
El valor que retorna es de tipo long (32bits). reinicia a 0 al llegar a 65536
millis();
Instrucción para reiniciar la cuenta de la funcion_millis = 0;Ejemplo
void setup(){
pinMode(0,OUTPUT);
digitalWrite(0,LOW);
}
void loop(){
if (millis()>1000) {
digitalWrite(0,HIGH); // enciende el led por un segundo
}
if (millis()>2000){
_millis=0; // reinicia el contador despues de dos segundos
digitalWrite(0,LOW); // Apaga el led
}
}