Comment arrêter la fonction de boucle vide dans Arduino

Comment arrêter la fonction de boucle vide dans Arduino
Arduino est une plate-forme de programmation qui permet aux utilisateurs de communiquer avec des microcontrôleurs qui n'étaient pas possibles il y a quelques années. Les planches Arduino peuvent être programmées à l'aide d'Arduino IDE. Arduino IDE utilise une langue C / C ++ avec des fonctionnalités supplémentaires pour contrôler et programmer des tableaux Arduino. Arduino Sketch se compose principalement de deux fonctions que l'une est configurée et la deuxième est la boucle. Ici, nous comprendrons comment nous pouvons contrôler la boucle en utilisant différentes techniques de programmation.

Comment arrêter la boucle de vide à Arduino?

Les esquisses Arduino se composent principalement de deux parties, la première est configurée et la deuxième boucle est en boucle. Les fonctions de configuration ne s'exécutent qu'une seule fois après la compilation du code tandis que la fonction de boucle continue de fonctionner jusqu'à ce qu'un nouveau croquis ou Arduino perd sa puissance.

Plusieurs projets peuvent exiger des fonctions de boucle de vide pour s'exécuter pendant une période ou une arrêt spécifique après avoir effectué certaines instructions, nous allons maintenant voir comment nous pouvons arrêter la fonction de boucle Arduino Void en utilisant différentes techniques de programmation.

La fonction de boucle s'arrête-t-elle vraiment?

Arduino ne fournit aucun moyen d'arrêter la fonction de boucle de vide. Outre Arduino, il n'y a rien de tel à exister dans les microcontrôleurs en premier lieu. Techniquement, toutes les techniques que nous avons utilisées sont juste pour arrêter la fonctionnalité de boucle Arduino. Il ne s'arrête pas complètement, nous envoyons une boucle vide à un état infini en utilisant alors que ou utilisez un sortie déclaration pour arrêter son processus. En faisant cette boucle Arduino coincée à l'intérieur d'une boucle infinie sans exécuter des instructions, la seule façon de le récupérer est de réinitialiser; à travers un bouton ou en téléchargeant un nouveau croquis. Donc, techniquement, la boucle Arduino Void ne s'arrête pas.

Méthodes pour arrêter la boucle de vide dans Arduino

La programmation Arduino a deux types de boucles un qui est par défaut dans Arduino Sketch qui est vide Loop () tandis que le second est utilisé lors de la programmation ou de l'écriture d'un croquis. Les boucles créées par l'utilisateur peuvent facilement arrêter d'utiliser des instructions de pause.

Ci-dessous sont quelques étapes pour arrêter la boucle de vide dans Arduino:

  • Utilisation de la boucle infinie
  • Utilisation de la bibliothèque du sommeil
  • Utilisation de la déclaration de sortie (0)
  • Utilisation de la déclaration IF

I: Utilisation de la boucle infinie

Pour arrêter la boucle de vide dans Arduino, esquissez une boucle infinie peut être utilisée à l'aide d'une structure de boucle. Cette méthode fonctionnera sur toutes les tableaux Arduino, mais cela n'empêchera pas le fonctionnement d'Arduino alors qu'Arduino continue de consommer de la puissance. Cette méthode peut facilement être implémentée dans n'importe quel code après la dernière ligne où votre code est terminé.

Prenons un exemple de clignotement LED pour comprendre comment la boucle While est utile pour briser la fonction de boucle vide:

void setup()
// Mettez votre code de configuration ici, pour exécuter une fois:
pinMode (LED_BUILTIN, sortie);

VOID LOOP ()
DigitalWrite (LED_BUiltin, High); // Allumez la LED
retard (1000); // retard d'une seconde
DigitalWrite (LED_BUiltin, Low); // éteindre la LED
retard (1000); // retard d'une seconde
tandis que (1) // boucle infinie

Dans le code ci-dessus, nous avons initialisé la broche LED intégrée dans la fonction de configuration vide après cela dans la section de boucle de vide, un programme de clignotement LED est écrit. Ici, la LED commencera à clignoter dans un schéma de 1 seconde et 1 seconde de congé. Une fois un cycle terminé, un infini tandis que la boucle est initiée à la fin du deuxième retard; Maintenant, la LED restera désactivée jusqu'à ce que le code soit re-téléchargé ou que Arduino soit réinitialisé.

II: Utilisation de la bibliothèque du sommeil

Dans la méthode ci-dessus. La méthode suivante qui arrêtera en permanence la boucle de vide et mettra Arduino en mode veille Sleep_n0m1 La bibliothèque, en utilisant ce processeur Arduino, peut être envoyée en mode de sommeil permanent jusqu'à ce que Arduino soit réinitialisé ou que nous ayons utilisé une minuterie pour une heure spécifique pour laquelle Arduino passe en mode de sommeil. Cette méthode dépend des bibliothèques qui pourraient ne pas fonctionner sur certaines cartes Arduino.

Encore une fois, nous prendrons un exemple LED pour démontrer son travail.

#inclure
Dormir dormir;
Unigned de remise des temps de restauration;
void setup()
Offre de dérivation = 5000;
pinMode (LED_BUILTIN, sortie);

VOID LOOP ()
DigitalWrite (LED_BUiltin, High); // Allumez la LED
retard (1000); // retard de 1 sec
DigitalWrite (LED_BUiltin, Low); // éteindre la LED
retard (1000); // délai de 1 sec
dormir.pwrownMode (); // définir le mode de sommeil
dormir.SleepDelay (Offtime); // Dormez pour: destiné

Au début de l'esquisse, nous avons appelé la bibliothèque du sommeil Arduino et défini une variable délai dépassé Cette variable stockera le délai pour lequel nous voulons mettre Arduino en mode veille. Ici, nous avons pris 5000 ms d'heure de restauration. Ensuite, nous avons défini une LED intégrée pour Arduino.

Dans la section de boucle de vide, le code LED est écrit, Ici, la LED terminera un cycle de clignotement, puis passe en mode de sommeil pendant 5000 ms ou 5 secon. Ce cycle continue jusqu'à ce que Arduino soit réinitialisé.

Dans cet exemple, la boucle s'arrêtera pendant 5 secondes, après quoi il recommence à cause de l'ensemble de dérivation, mais si nous devons l'arrêter en permanence, nous devons supprimer cette minuterie ou la définir sur une valeur maximale. La bibliothèque du sommeil peut arrêter la section de boucle pendant un maximum de 49 jours après quoi il se réinitialise automatiquement.

III: Utilisation de la déclaration de sortie (0)

La boucle vide peut également être arrêtée à l'aide de la déclaration de sortie (). Cette déclaration est l'une des façons les plus simples d'arrêter une fonction de boucle vide. N'oubliez pas d'utiliser cette instruction à la fin de votre code car toute instruction écrite après cette ligne ne sera pas exécutée jusqu'à ce qu'Arduino soit réinitialisé ou le code n'est pas reversé.

void setup()
// Mettez votre code de configuration ici, pour exécuter une fois:
pinMode (LED_BUILTIN, sortie);

VOID LOOP ()
DigitalWrite (LED_BUiltin, High); // Allumez la LED
retard (1000); // délai de 1 sec
DigitalWrite (LED_BUiltin, Low); // éteindre la LED
retard (1000); // délai de 1 sec
sortie (0);

Le code ci-dessus explique l'utilisation des instructions de sortie pour arrêter la boucle de vide dans le code Arduino. Comme l'exemple précédent, le code de clignotement LED est écrit et à la fin du code, nous avons lancé une ligne de sortie. Cela brisera la boucle de vide Arduino. LED va clignoter pour un cycle après cela, il s'arrêtera.

IV: Utilisation de la déclaration IF

L'énoncé IF est la dernière méthode, nous discuterons aujourd'hui pour arrêter la boucle de vide. Si la déclaration définira une condition à l'intérieur de la boucle qui redémarrera la boucle vide ou l'arrêtera en fonction de l'entrée de l'utilisateur.

Le code ci-dessous démontre une instance à l'aide de LED à arrêter la boucle de vide.

booléen stop = true;
void setup()
// Mettez votre code de configuration ici, pour exécuter une fois:
pinMode (LED_BUILTIN, sortie);

VOID LOOP ()
if (stop == true)
DigitalWrite (LED_BUiltin, High); // Allumez la LED
retard (1000); // délai de 1 sec
DigitalWrite (LED_BUiltin, Low); // éteindre la LED
retard (1000); // délai de 1 sec

stop = false;

Au début du code, nous avons initialisé une variable booléenne arrêt Et sa valeur est définie sur true. Après cela dans la section de configuration, les broches LED sont définies. Dans la section de boucle vide si les instructions commencent et vérifiez la variable arrêt valeur. Si la condition devient vraie, elle commencera le croquis de clignotement LED. Une fois le cycle de clignotement LED terminé, nous attribuons la valeur du arrêt variable à faux. Après cela, il continuera de vérifier la boucle vide, mais l'instruction deviendra toujours fausse parce que nous définissons la valeur du arrêt variable à false, entraînant l'arrêt de la boucle vide du code Arduino.

Conclusion

La boucle vide est une partie importante du code Arduino, tout ce qui est écrit à l'intérieur continuera de fonctionner jusqu'à ce que Arduino soit réinitialisé. Parfois, nous devons arrêter la section Loop en fonction des paramètres du projet, nous avons donc mis en évidence toutes les principales façons en utilisant lequel nous pouvons arrêter le code de la section de boucle Arduino void.