Diferencia entre revisiones de «delay()»

De ArduWiki
Saltar a: navegación, buscar
(Vea también)
(Vea también)
 
(No se muestran 12 ediciones intermedias del mismo usuario)
Línea 2: Línea 2:
 
Hace una pausa en el boceto durante el tiempo (en milisegundos) especificado como parámetro. (1 segundo = 1000 milisegundos)
 
Hace una pausa en el boceto durante el tiempo (en milisegundos) especificado como parámetro. (1 segundo = 1000 milisegundos)
  
{{Nota:Los programadores serios evitan el uso de delay() para la sincronización de los eventos de más de 10 milisegundos a menos que el [[boceto]] sea muy simple. Se recomienda usar [[millis()]] en su lugar.}}
+
{{Tip|Los programadores serios evitan el uso de '''delay()''' para la sincronización de los eventos de más de 10 milisegundos a menos que el [[boceto]] sea muy simple. Se recomienda usar [[millis()]] en su lugar.}}
  
 
== Sintaxis ==
 
== Sintaxis ==
Línea 16: Línea 16:
  
 
== Advertencias ==
 
== Advertencias ==
Si bien es fácil crear un LED parpadeante con la función '''delay()''' y muchos ejemplos usan retardos cortos para tareas tales como supresión de rebotes de un pulsador, el uso de la funcion delay() en un boceto tiene inconvenientes significativos. Ninguna lectura de los sensores, cálculos matemáticos, o la manipulación de pines puede realizarse hasta que la función delay() termine. Un enfoques alternativo para controlar del tiempo es la función [[millis()]] porque el boceto continua ejecutando.  
+
* Si bien es fácil crear un LED parpadeante con la función '''delay()''' y muchos ejemplos usan retardos cortos para tareas tales como supresión de [[Rebote]]s de un pulsador, el uso de la funcion delay() en un [[boceto]] tiene inconvenientes significativos. Ninguna lectura de los sensores, cálculos matemáticos, o la manipulación de pines puede realizarse hasta que la función '''delay()''' termine. Un enfoques alternativo para controlar del tiempo es la función [[millis()]] porque el boceto continua ejecutando.  
  
Ciertas cosas si funcionan mientras que la función '''delay()''' está controlando Arduino, debido a que la función '''delay()''' no deshabilita las interrupciones y están funcionan como es debido, así mismo la comunicación serie y [[PWM]] continua normalmente.
+
* Ciertas cosas si funcionan mientras que la función '''delay()''' está controlando Arduino, debido a que la función '''delay()''' no deshabilita las interrupciones y están funcionan como es debido, así mismo la comunicación serie y [[analogWrite()|PWM]] continua normalmente.
  
 
== Ejemplo ==
 
== Ejemplo ==
Línea 35: Línea 35:
  
 
== Vea también ==
 
== Vea también ==
* [[Fecha y hora]]
+
<categorytree mode=all>Funciones tiempo</categorytree>
* [[millis()]]
 
* [[delayMicroseconds()]]
 
* [[micros()]]
 
  
== Referencias ==
+
* [[Tip 3]]
 +
 
 +
== Referencias externas ==
 
* [https://www.arduino.cc/reference/es/language/functions/time/delay/ Guía de Referencia de Arduino]
 
* [https://www.arduino.cc/reference/es/language/functions/time/delay/ Guía de Referencia de Arduino]
  
[[Category:Funciones]]
+
[[Category:Funciones tiempo]]

Revisión actual del 14:02 21 sep 2019

Descripción

Hace una pausa en el boceto durante el tiempo (en milisegundos) especificado como parámetro. (1 segundo = 1000 milisegundos)

Tip: Los programadores serios evitan el uso de delay() para la sincronización de los eventos de más de 10 milisegundos a menos que el boceto sea muy simple. Se recomienda usar millis() en su lugar.


Sintaxis

delay(ms);

Parámetros

ms
el número de milisegundos para hacer una pausa, tipo unsigned long.

Retornos

Nada.

Advertencias

  • Si bien es fácil crear un LED parpadeante con la función delay() y muchos ejemplos usan retardos cortos para tareas tales como supresión de Rebotes de un pulsador, el uso de la funcion delay() en un boceto tiene inconvenientes significativos. Ninguna lectura de los sensores, cálculos matemáticos, o la manipulación de pines puede realizarse hasta que la función delay() termine. Un enfoques alternativo para controlar del tiempo es la función millis() porque el boceto continua ejecutando.
  • Ciertas cosas si funcionan mientras que la función delay() está controlando Arduino, debido a que la función delay() no deshabilita las interrupciones y están funcionan como es debido, así mismo la comunicación serie y PWM continua normalmente.

Ejemplo

const byte led = 13;             //LED
void.setup() { 
   pinMode (led, OUTPUT);        //Establece el pin digital como salida 
}
void.loop() { 
   digitalWrite(led, HIGH);      //Prende LED 
   delay(500);                   //Espera medio segundo 
   digitalWrite(ledPin, LOW);    //Apaga LED 
   delay(500);                   //Espera medio segundo 
}

Vea también


Referencias externas