Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

techniken:timing

Dies ist eine alte Version des Dokuments!




Zeitliche Abläufe steuern

Einfach und ineffizient: delays

Multitasking handgemacht: Zeitstempel

Delays haben den großen Nachteil, dass sie den Programmablauf blockieren, und währenddessen keine anderen Aktionen ausgeführt werden können.

Die Lösung: Statt zu warten, merkt sich der Rechner den Zeitpunkt, an dem die nächste Aktion fällig ist und führt das Programm weiter aus. An einer anderen Stelle kann das Programm dann die aktuelle Zeit anschauen und überprüfen, ob der Termin fällig ist. Falls ja, wird die aktion ausgeführt und ggf. ein neuer Termin festgelegt. Indem sich das Programm unterschiedliche „Termine“ für unterschiedliche Aktionen in separaten Variablen merkt, kann es Aufgaben gestaffelt „gleichzeitig“ erledigen.

Das Beispiel: Ein kommentiertes Beispiel für diese Vorgehensweise gibt es bei Arduino unter Digital/BlinkWithoutDelay

Multitasking mit Hardwareunterstützung: Timer-Interrupts

techniken/timing.1390487537.txt.gz · Zuletzt geändert: 2016/01/21 12:45 (Externe Bearbeitung)