Diferencia entre revisiones de «micros()»

De ArduWiki
Saltar a: navegación, buscar
(Advertencias)
Línea 16: Línea 16:
 
* 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 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.  
 
* 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()]].
+
* '''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 ==
 
== Ejemplo ==

Revisión del 11:08 23 jun 2018

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.

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