hello_mbot_blockierung
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
hello_mbot_blockierung [2025/02/18 06:44] – torsten.roehl | hello_mbot_blockierung [2025/02/19 19:47] (aktuell) – [Nicht-blockierende Umsetzung] torsten.roehl | ||
---|---|---|---|
Zeile 115: | Zeile 115: | ||
*/ | */ | ||
void blinken(int interval) { | void blinken(int interval) { | ||
+ | |||
unsigned long currentMillis = millis(); | unsigned long currentMillis = millis(); | ||
- | if (currentMillis - previousMillis | + | |
- | | + | |
- | previousMillis = currentMillis; | + | |
- | ledState = !ledState; | + | |
- | | + | // step: .. toggle now! |
- | led.setColor(0, | + | firstRun = false; |
- | led.setColor(1, | + | previousMillis = currentMillis; |
- | } else { | + | ledState = !ledState; |
- | led.setColor(0, | + | |
- | led.setColor(1, | + | |
- | } | + | led.setColor(0, |
- | led.show(); | + | led.setColor(1, |
+ | } else { | ||
+ | led.setColor(0, | ||
+ | led.setColor(1, | ||
} | } | ||
+ | led.show(); | ||
} | } | ||
</ | </ | ||
== Erklärungen zum Quellcode == | == Erklärungen zum Quellcode == | ||
- | Die Methode '' | ||
- | |||
- | //Zeile 42// prüft, ob das Intervall abgelaufen oder der erste Aufruf ('' | ||
- | |||
- | //Zeile 45// wechselt den LED-Zustand, | ||
- | //Zeile 47–54// setzt die LED auf Rot oder schaltet sie aus, abhängig von '' | ||
Die Variable '' | Die Variable '' | ||
Zeile 147: | Zeile 144: | ||
< | < | ||
In dieser Version wird das Blinken der LEDs nicht blockierend mit '' | In dieser Version wird das Blinken der LEDs nicht blockierend mit '' | ||
- | ===== Zusammenfassung ===== | + | ====== Zusammenfassung |
Nicht-blockierende Methoden ermöglichen eine effizientere Steuerung des mBots, da Abläufe parallel ausgeführt werden können. Gleichzeitig sind blockierende Methoden einfacher umzusetzen und sind häufig ausreichend. | Nicht-blockierende Methoden ermöglichen eine effizientere Steuerung des mBots, da Abläufe parallel ausgeführt werden können. Gleichzeitig sind blockierende Methoden einfacher umzusetzen und sind häufig ausreichend. |
hello_mbot_blockierung.1739861045.txt.gz · Zuletzt geändert: 2025/02/18 06:44 von torsten.roehl