Arduino eine Schleife stoppen

Ammar Ali 12 Oktober 2023
  1. Beenden der void loop() mit der Sleep_n0m1-Bibliothek
  2. Beenden der void loop() mit exit(0)
  3. Beenden der void loop() mit einer Endlosschleife
Arduino eine Schleife stoppen

In diesem Tutorial werden Methoden zum Stoppen einer Schleife in Arduino erläutert. Es gibt zwei Arten von Schleifen in Arduino; Eine ist die void loop(), die standardmäßig bereitgestellt wird, und die andere, die der Benutzer dort selbst erstellt. Vom Benutzer erstellte Schleifen können einfach mit der Methode break beendet werden. Um die void loop() von Arduino zu beenden, können Sie die folgenden Methoden verwenden.

Beenden der void loop() mit der Sleep_n0m1-Bibliothek

Die obige Methode funktioniert möglicherweise für alle Arduino-Boards, aber das Arduino verbraucht weiterhin Strom. Mit der Bibliothek Sleep_n0m1 können Sie Ihre Arduino-CPU in den permanenten Ruhezustand versetzen, bis Sie sie manuell oder mithilfe eines Timers zurücksetzen. Bitte beachten Sie, dass dies möglicherweise nicht für alle Arduino-Boards funktioniert.

#include <Sleep_n0m1.h>
Sleep sleep;
unsigned long sleepTime;  // how long you want the Arduino to sleep

void setup() {
  sleepTime = 50000;  // set sleep time in ms, max sleep time is 49.7 days
}

void loop() {
  // Your Code
  sleep.pwrDownMode();          // set sleep mode
  sleep.sleepDelay(sleepTime);  // sleep for: sleepTime
}

Bitte stellen Sie sicher, dass Sie die Bibliothek Sleep_n0m1 verwenden, nachdem Sie mit Ihrem Code fertig sind. Diese Methode verbraucht nur wenig Strom. Verwenden Sie diesen Link für weitere Details.

Beenden der void loop() mit exit(0)

Die void loop() von Arduino kann mit der Methode exit(0) nach Ihrem Code beendet werden. Beachten Sie jedoch, dass Arduino.cc keine Methode zum Beenden dieser Schleife bereitstellt, sodass diese Methode möglicherweise nicht funktioniert für alle Arduino Boards.

void loop() {
  // All of your code here

  // exit the loop
  exit(0);  // 0 is required to prevent error.
}

Bitte beachten Sie, dass Ihr Arduino nach exit(0) nicht mehr funktioniert, bis Sie es manuell zurücksetzen. Stellen Sie also sicher, dass Sie diese Methode verwenden, nachdem der Code seine Aufgabe beendet hat.

Beenden der void loop() mit einer Endlosschleife

Die obige Methode funktioniert möglicherweise nicht für alle Arduino-Boards, daher müssen wir eine andere Methode verwenden. Die Endlosschleifenmethode funktioniert für alle Arduino-Boards, aber das Arduino bleibt wach und verbraucht weiterhin Strom. Bei dieser Methode können Sie nach Ihrem Code eine Endlosschleife einfügen. Arduino verarbeitet Ihren Code, tritt in eine Endlosschleife ein und bleibt dort, bis Sie ihn manuell zurücksetzen.

void loop() {
  // All of your code
  while (1) {  // infinite loop
  }
}

Wenn Arduino in die Endlosschleife eintritt, kehrt es erst zurück, wenn Sie es zurücksetzen. Verwenden Sie daher nach Abschluss Ihres Codes unbedingt die Endlosschleife.

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook