Diferencia entre revisiones de «millis()»

De ArduWiki
Saltar a: navegación, buscar
(Advertencias)
(Retornos)
Línea 12: Línea 12:
 
== Retornos ==
 
== Retornos ==
 
Número de milisegundos desde que el programa se inició. Numero tipo [[unsigned long]].
 
Número de milisegundos desde que el programa se inició. Numero tipo [[unsigned long]].
 +
 +
== Comentario ==
 +
Se puede resetear el temporisador de millis() ?
  
 
== Advertencias ==
 
== Advertencias ==

Revisión del 16:08 27 feb 2019

Descripción

Devuelve el número de milisegundos desde que la placa Arduino empezó a ejecutar el programa actual. Este número se desbordará (volverá a cero), después de aproximadamente 50 días.

Sintaxis

millis();

Parámetros

Nada.

Retornos

Número de milisegundos desde que el programa se inició. Numero tipo unsigned long.

Comentario

Se puede resetear el temporisador de millis() ?

Advertencias

  • Tenga en cuenta el tipo de valor que retorno millis() es unsigned long y pueden producirse errores lógicos si hacer operaciones aritméticas con otros tipos de datos más pequeños como: byte o int, incluso los long con signo pueden producir errores de calculo.
  • millis() funciona mediante una interrupción (la misma de micros()); por lo tanto, su valor dejará de incrementar 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 hora=0;                     //Es muy importante respetar el tipo de dato
void setup() {
   pinMode(13, OUTPUT);
}
void loop() {
   if (milis() - hora >= 500){
      hora = millis();                     //Guarda a hora de cada cambio
      digitalWrite(13, !digitalRead(13));  //Invierte valor del pin
   }
}

Vea también

Referencias