Diferencia entre revisiones de «micros()»
De ArduWiki
(→Advertencias) |
(→Retornos) |
||
Línea 12: | Línea 12: | ||
== Retornos == | == Retornos == | ||
Número de microsegundos desde que se inició el boceto. Tipo de dato [[unsigned long]]. | Número de microsegundos desde que se inició el boceto. Tipo de dato [[unsigned long]]. | ||
+ | |||
+ | == Comentarios == | ||
+ | {{Tip|Este comando tarda 47 ciclos de CPU.}} | ||
== Advertencias == | == Advertencias == |
Revisión del 19:41 11 jun 2019
Contenido
Descripción
Devuelve el número de microsegundos desde la que placa Arduino empezó a ejecutar el boceto actual. Este número se desbordará (volverá a cero), después de aproximadamente 70 minutos. 1 segundo = 1000 000 microsegundos.
Sintaxis
micros();
Parámetros
Ninguno.
Retornos
Número de microsegundos desde que se inició el boceto. Tipo de dato unsigned long.
Comentarios
Tip: Este comando tarda 47 ciclos de CPU.
Advertencias
- En placas Arduino de 16 MHz (UNO, Duemilanove y NANO), esta función tiene una resolución de cuatro microsegundos, es decir el valor devuelto es siempre un múltiplo de cuatro.
- En las placas Arduino 8 MHz (LilyPad), esta función tiene una resolución de ocho microsegundos, es decir el valor devuelto es siempre un múltiplo de ocho.
- micros() funciona mediante una interrupción (la misma de millis()); por lo tanto, su valor dejará de incrementar (pero puede variar sólo un poco) durante una rutina de servicio de interrupción (ej.: posterior a attachInterrupt()), o mientras no se llame a interrupts() después de llamar a noInterrupts().
Ejemplo
unsigned long tiempo; void setup(){ Serial.begin(9600); } void loop(){ Serial.print("Tiempo: "); tiempo = micros(); // Imprime los microsegundos transcurridos desde que se inició el programa Serial.println(tiempo); // Esperar un segundo para así no inundar el puerto con muchos datos delay(1000); }