Diferencia entre revisiones de «delay()»
(→Vea también) |
|||
Línea 1: | Línea 1: | ||
== Descripción == | == Descripción == | ||
+ | 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 recomindo usar [[millis()]] en su lugar.}} | ||
== Sintaxis == | == Sintaxis == | ||
<pre> | <pre> | ||
+ | delay(ms); | ||
</pre> | </pre> | ||
== Parámetros == | == Parámetros == | ||
+ | ;ms: el número de milisegundos para hacer una pausa, tipo [[unsigned long]]. | ||
− | == | + | == Retornos == |
+ | Nada. | ||
== 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. | ||
+ | |||
+ | 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 == | == Ejemplo == | ||
<pre> | <pre> | ||
+ | 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 | ||
+ | } | ||
</pre> | </pre> | ||
== Vea también == | == Vea también == | ||
* [[millis()]] | * [[millis()]] | ||
+ | * [[delayMicrosecons()]] | ||
+ | * [[micros()]] | ||
== Referencias == | == Referencias == |
Revisión del 15:30 15 jun 2018
Contenido
Descripción
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 recomindo 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 }