• Post category:Temps
  • Post comments:0 commentaire
  • Post last modified:mars 11, 2022
  • Temps de lecture :3 min de lecture

delay()

Description :

Suspend le programme pendant la durée (en millisecondes) spécifiée comme paramètre. (Il y a 1000 millisecondes dans une seconde.)

Syntaxe :

delay(ms)

Paramètres :

ms : le nombre de millisecondes à mettre en pause. Types de données autorisés : unsigned long .

Retour :

Rien

Exemple de code :

Le code met le programme en pause pendant une seconde avant de basculer la broche de sortie.

int ledPin = 13;              // LED connectée à la broche numérique 13

void setup() {
  pinMode(ledPin, OUTPUT);    // définit la broche numérique comme sortie
}

void loop() {
  digitalWrite(ledPin, HIGH); // allume la LED
  delay(1000);                // attend une seconde
  digitalWrite(ledPin, LOW);  // éteint la LED
  delay(1000);                // attend une seconde
}

 

Remarques et avertissements :

Bien qu’il soit facile de créer une LED clignotante avec la fonction delay() et que de nombreuses esquisses utilisent des délais courts pour des tâches telles que l’anti-rebond de commutateur, l’utilisation de delay() dans une esquisse présente des inconvénients importants. Aucune autre lecture de capteurs, calculs mathématiques ou manipulation de broches ne peut avoir lieu pendant la fonction de retard, donc en fait, cela met fin à la plupart des autres activités. Pour des approches alternatives au contrôle de la synchronisation, voir le croquis Blink Without Delay , qui boucle, interrogeant la fonction millis() jusqu’à ce qu’un temps suffisant se soit écoulé. Les programmeurs plus avertis évitent généralement d’utiliser delay() pour chronométrer des événements de plus de 10 millisecondes, à moins que l’esquisse Arduino ne soit très simple.

Cependant, certaines choses se passent pendant que la fonction delay() contrôle la puce Atmega, car la fonction delay ne désactive pas les interruptions. La communication série qui apparaît sur la broche RX est enregistrée, les valeurs PWM ( analogWrite ) et les états des broches sont conservés et les interruptions fonctionneront comme elles le devraient.


 

Source : https://www.arduino.cc/reference/en/language/functions/time/delay/

 

Laisser un commentaire