Reference Language (extended) | Libraries | Comparison | Changes
Pausa el programa por un tiempo determinado (en milisegundos) especificado por un parámetro. Hay 1000 milisegundos en un segundo.
delay(ms)
ms: el número de milisegundos que se desea pausar el programa (unsigned long)
nada
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
}
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.
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.