Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Estas funciones no pertenecen a ningún objeto (no son funciones miembro), así que se
escriben directamente.
millis(): devuelve el número de milisegundos (ms) desde que la placa Arduino empezó a
ejecutar el sketch actual. Este número se reseteará a cero aproximadamente después de
50 días (cuando su valor supere el máximo permitido por su tipo, que es “unsigned long”).
No tiene parámetros.
micros(): devuelve el número de microsegundos (µs) desde que la placa Arduino empezó a
ejecutar el sketch actual. Este número –de tipo “unsigned long” – se reseteará a cero
aproximadamente después de 70 minutos. Esta instrucción tiene una resolución de 4 µs
(es decir, que el valor retornado es siempre un múltiplo de cuatro). Recordar que 1000 µs
es un milisegundo y por tanto, 1000000 µs es un segundo. No tiene parámetros.
void loop(){
tiempo = micros();
Serial.println(tiempo);
delay(1000);
}
Si se ejecuta el código anterior se puede ver por el “Serial monitor” cómo va aumentando
el tiempo que pasa desde que se puso en marcha el sketch. El valor observado va aumentando
aproximadamente un segundo cada vez.
Ejemplo 2: Otro código ilustrativo es el siguiente.
void loop(){
inicio = millis();
delay(1000);
fin = millis();
transcurrido = fin - inicio;
Serial.println(transcurrido);
delay(500);
}
En el código anterior se puede ver una manera de contar el tiempo transcurrido entre dos
momentos determinados. El procedimiento es guardar en una variable el valor devuelto por millis()
en el momento inicial, y guardar en otra variable diferente el valor devuelto por millis() en el
momento final, para seguidamente restar uno del otro y averiguar así el lapso de tiempo
transcurrido (que en el ejemplo debería de ser aproximadamente un segundo). Este cálculo en el
código anterior se realiza cada medio segundo.