Reference   Language (extended) | Libraries | Comparison | Changes

delay()

Descripción

Pausa el programa por un tiempo determinado (en milisegundos) especificado por un parámetro. Hay 1000 milisegundos en un segundo.

Sintaxis

delay(ms)

Parámetros

ms: el número de milisegundos que se desea pausar el programa (unsigned long)

Devuelve

nada

Ejemplo

int ledPin = 13;  // LED conectado al pin digital 13.

void setup()
{
  pinMode(ledPin, OUTPUT);  // declara que el pin digital se va a usar como salida
}

void loop()
{
  digitalWrite(ledPin, HIGH);   // enciende el LED
  delay(1000);                  // espera durante un segundo
  digitalWrite(ledPin, LOW);    // apaga el LED
  delay(1000);                  // espera durante un segundo
}

Advertencia

Aunque es fácil crear un LED parpadeante con la función delay() y muchos sketches usan pausas cortas para estas tareas, el uso de delay() en un sketch tiene problemas importantes. Mientras se pausa el programa no se leen sensores, ni se hacen cálculos, ni puede haber manipulación de los pines. En definitiva, hace que (casi) toda la actividad se pare. Una alternativa para controlar el tiempo es el uso de la función millis() y el sketch mostrado abajo. Normalmente se evita el uso de delay() para tiempos mayores de decenas de milisegundos excepto en programas muy simples.

Algunas cosas siguen funcionando mientras se ejecuta la función delay() porque no se deshabilitan las interrupciones. La comunicación serie de los pines RX sigue funcionando, los valores de PWM (analogWrite) y los estados de los pines se mantienen y las interrupciones siguen funcionando correctamente.

Ver también

Página principal Referencia

Correcciones, sugerencias, y nueva documentación deberán ser publicadas en el Foro (castellano) o en el Foro (inglés).

El texto de la referencia de Arduino está publicado bajo la licencia Creative Commons Reconocimiento-Compartir bajo la misma licencia 3.0. Los ejemplos de código de la referencia están liberados al dominio público.

Share