So stoppen Sie die void Loop -Funktion in Arduino

So stoppen Sie die void Loop -Funktion in Arduino
Arduino ist eine Programmierplattform, mit der Benutzer mit Mikrocontrollern kommunizieren können, die vor einigen Jahren nicht möglich waren. Arduino -Boards können mit Arduino IDE programmiert werden. Arduino IDE verwendet eine C/C ++ - Sprache mit zusätzlichen Funktionen, um Arduino -Boards zu kontrollieren und zu programmieren. Die Arduino -Skizze besteht hauptsächlich aus zwei Funktionen, die ein Setup und die zweite Schleife ist. Hier werden wir verstehen, wie wir die Schleife mit verschiedenen Programmierungstechniken steuern können.

Wie man die Leerleiste in Arduino stoppt?

Arduino -Skizzen bestehen hauptsächlich aus zwei Teilen. Eins ist eingerichtet und der zweite ist die Schleife. Setup -Funktionen werden erst einmal ausgeführt, nachdem der Code kompiliert wurde, während die Schleifenfunktion weiter läuft, bis eine neue Skizze oder Arduino ihre Leistung verliert.

Mehrere Projekte erfordern möglicherweise void Loop -Funktionen, die für eine bestimmte Zeit ausgeführt werden oder nach der Ausführung bestimmter Anweisungen anhalten können. Jetzt werden wir uns ansehen, wie wir die Arduino -Void -Schleifenfunktion unter Verwendung verschiedener Programmierechniken stoppen können.

Stoppt die Schleifenfunktion wirklich??

Arduino bietet keine Möglichkeit, die Hohlraumschleifenfunktion zu stoppen. Außer Arduino gibt es in Mikrocontrollern in erster Linie kein so etwas zu existieren. Technisch alle Techniken, die wir verwendeten. Es hört nicht vollständig auf, wir senden entweder eine Hohlraumschleife an einen unendlichen Zustand mit während oder verwenden Sie ein Ausfahrt Aussage, um seinen Prozess zu stoppen. Durch diese Arduino -Schleife steckt in einer unendlichen Schleife, ohne Anweisungen auszuführen, die einzige Möglichkeit, sie zurückzubekommen, indem Sie sie zurücksetzen. durch eine Schaltfläche oder durch Hochladen einer neuen Skizze. Technisch gesehen hört die Arduino -Leereschleife nicht auf.

Methoden zum Stoppen der void -Schleife in Arduino

Die Arduino -Programmierung hat zwei Arten von Schleifen, die standardmäßig in der Arduino -Skizze sind, die void Loop () ist, während die zweite Schleife während des Programmierens oder des Schreibens einer Skizze verwendet wird. Nutzer erstellte Schleifen können leicht aufhören, Break -Anweisungen zu verwenden.

Nachfolgend sind nur wenige Schritte aufgeführt, um die Leerleiste in Arduino zu stoppen:

  • Verwenden Sie unendlich während der Schleife
  • Verwenden der Schlafbibliothek
  • Verwenden der Anweisung der Exit (0)
  • Verwenden Sie if Anweisung

I: Infinite während der Schleife verwenden

Um die Hohlraumschleife in Arduino zu stoppen, skizzieren Sie eine unendliche Schleife mit Hilfe einer Weile -Schleifenstruktur. Diese Methode funktioniert an allen Arduino -Boards, dies wird jedoch nicht verhindern, dass Arduino funktioniert, da Arduino weiterhin Strom verbraucht. Diese Methode kann nach der letzten Zeile, in der Ihr Code fertig ist, leicht in jedem Code implementiert werden.

Nehmen wir ein LED -Blink -Beispiel, um zu verstehen, wie hilfreich die Schleife ist, um die void -Schleifenfunktion zu brechen:

void setup ()
// Setzen Sie Ihren Setup -Code hier ein, um einmal auszuführen:
PinMode (LED_BUILTIN, Ausgabe);

void Loop ()
DigitalWrite (LED_BUILTIN, High); // LED einschalten
Verzögerung (1000); // Verzögerung einer Sekunde
DigitalWrite (LED_BUILTIN, LOW); // LED ausschalten
Verzögerung (1000); // Verzögerung einer Sekunde
while (1) // Infinite Loop

In dem obigen Code haben wir den integrierten LED -Pin in der Void -Setup -Funktion initialisiert. Danach im Abschnitt Void Loop ist ein LED -Blink -Programm geschrieben. Hier wird die LED in einem Muster von einer 1 Sekunde und 1 Sekunde aus blinzeln. Nach Abschluss eines Zyklus ist ein Unendlicher, während die Schleife am Ende der zweiten Verzögerung eingeleitet wird. Jetzt bleibt die LED ausgeschaltet, bis der Code erneut beladen ist oder Arduino zurückgesetzt wird.

II: Verwenden der Schlafbibliothek

In der obigen Methode wird Arduino void Loop gestoppt, aber Arduino wird weiterhin Strom übernehmen. Nächste Methode, mit der die Leereschleife dauerhaft gestoppt wird und Arduino in den Schlafmodus verwendet wird Sleep_n0m1 Die Bibliothek, die diese Arduino -CPU verwendet, kann im permanenten Schlafmodus gesendet werden, bis Arduino zurückgesetzt wird oder wir einen Timer für eine bestimmte Zeit verwendet haben. Diese Methode hängt von Bibliotheken ab, die möglicherweise nicht in einigen Arduino -Boards funktionieren.

Auch hier werden wir ein LED -Beispiel nehmen, um seine Arbeit zu demonstrieren.

#enthalten
Schlaf Schlaf;
unsignierte lange freie Zeit;
void setup ()
Offtime = 5000;
PinMode (LED_BUILTIN, Ausgabe);

void Loop ()
DigitalWrite (LED_BUILTIN, High); // LED einschalten
Verzögerung (1000); // Verzögerung von 1 Sek
DigitalWrite (LED_BUILTIN, LOW); // LED ausschalten
Verzögerung (1000); // 1 Sek. Verzögerung
schlafen.pwrdownMode (); // den Schlafmodus festlegen
schlafen.SleepDelay (Offime); // schlafen für: offime

Zu Beginn der Skizze haben wir die Arduino -Schlafbibliothek bezeichnet und eine Variable definiert Freizeit Diese Variable speichert das Zeitlimit, für das wir Arduino in den Schlafmodus setzen möchten. Hier haben wir 5000 ms keine Zeit genommen. Dann haben wir eine eingebaute LED für Arduino definiert.

Im LED -Code des void Loop wird geschrieben. Hier wird LED einen Blinkungszyklus absolviert und dann in den Schlafmodus für 5000 ms oder 5 Sekunden. Danach startet LED erneut einen Blinkzyklus, dann geht es noch 5 Sekunden lang in den Schlafmodus. Dieser Zyklus wird fortgesetzt, bis Arduino zurückgesetzt wird.

In diesem Beispiel wird die Schleife 5 Sekunden lang anhalten, wonach sie aufgrund des Off -Time -Sets erneut beginnt, aber wenn wir ihn dauerhaft stoppen müssen. Die Schlafbibliothek kann den Schleifenabschnitt maximal 49 Tage anhalten, wonach er automatisch zurückgesetzt wird.

III: Verwenden der Anweisung der Exit (0)

Die Hohlraumschleife kann auch mit Exit () Anweisung gestoppt werden. Diese Aussage ist eine der einfachsten Möglichkeiten, eine Leerleistung zu stoppen. Denken Sie daran, diese Anweisung am Ende Ihres Code zu verwenden.

void setup ()
// Setzen Sie Ihren Setup -Code hier ein, um einmal auszuführen:
PinMode (LED_BUILTIN, Ausgabe);

void Loop ()
DigitalWrite (LED_BUILTIN, High); // LED einschalten
Verzögerung (1000); // 1 Sek. Verzögerung
DigitalWrite (LED_BUILTIN, LOW); // LED ausschalten
Verzögerung (1000); // 1 Sek. Verzögerung
exit (0);

Der obige Code erläutert die Verwendung von Exit -Anweisungen zum Stoppen der Hohlraumschleife im Arduino -Code. Wie der frühere Beispiel wurde der LED -Blinkcode geschrieben und am Ende des Codes haben wir eine Exit -Zeile eingeleitet. Dies wird die Arduino -Leerschleife durchbrechen. LED wird danach für einen Zyklus blinzeln, es hört auf.

IV: Verwenden Sie if Anweisung

Die IF -Aussage ist die letzte Methode, wir werden heute diskutieren, um die Hohlraumschleife zu stoppen. Wenn der Statement eine Bedingung in der Schleife festlegt.

Der folgende Code zeigt, dass mit Hilfe von LED die Void-Schleife gestoppt wird.

boolean stop = true;
void setup ()
// Setzen Sie Ihren Setup -Code hier ein, um einmal auszuführen:
PinMode (LED_BUILTIN, Ausgabe);

void Loop ()
if (stop == true)
DigitalWrite (LED_BUILTIN, High); // LED einschalten
Verzögerung (1000); // 1 Sek. Verzögerung
DigitalWrite (LED_BUILTIN, LOW); // LED ausschalten
Verzögerung (1000); // 1 Sek. Verzögerung

stop = false;

Zu Beginn des Code haben wir eine boolesche Variable initialisiert stoppen und sein Wert wird auf wahr gesetzt. Danach sind im Setup -Abschnitt LED -Stifte definiert. Im Abschnitt Void Loop, wenn Anweisungen beginnen und nach der Variablen prüfen stoppen Wert. Wenn die Bedingung wahr wird, beginnt die LED Blink -Skizze. Sobald der LED -Blink -Zyklus abgeschlossen ist, weisen wir den Wert der zu stoppen Variable zu falsch. Danach wird es weiterhin die Hohlraumschleife überprüfen, aber die Aussage wird immer falsch, da wir den Wert der festlegen stoppen Variable zu FALSE, was dazu führt.

Abschluss

Die Hohlraumschleife ist ein wichtiger Bestandteil des Arduino -Code. Alles, was darin geschrieben wurde, wird weiter laufen, bis Arduino zurückgesetzt wird. Manchmal müssen wir den Schleifenabschnitt gemäß den Projektparametern stoppen, sodass wir hier alle wichtigen Möglichkeiten hervorgehoben haben.