Diferencia entre revisiones de «micros()»
De ArduWiki
(→Retornos) |
(→Descripción) |
||
(No se muestran 2 ediciones intermedias del mismo usuario) | |||
Línea 1: | Línea 1: | ||
== Descripción == | == 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. | + | 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 == | == Sintaxis == | ||
Línea 38: | Línea 38: | ||
== Vea también == | == Vea también == | ||
− | + | <categorytree mode=all>Funciones tiempo</categorytree> | |
− | == Referencias == | + | == Referencias externas == |
* [https://www.arduino.cc/reference/es/language/functions/time/micros/ Guia de referencia de Arduino] | * [https://www.arduino.cc/reference/es/language/functions/time/micros/ Guia de referencia de Arduino] | ||
− | [[Category:Funciones]] | + | [[Category:Funciones tiempo]] |
Revisión actual del 14:03 21 sep 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); }
Vea también