Diferencia entre revisiones de «micros()»

De ArduWiki
Saltar a: navegación, buscar
(Referencias)
(Descripción)
 
(No se muestra una edición intermedia 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 ==
* [[millis()]]
+
<categorytree mode=all>Funciones tiempo</categorytree>
  
 
== Referencias externas ==
 
== Referencias externas ==

Revisión actual del 14:03 21 sep 2019

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


Referencias externas