Hallo Sternthaler,

Als großen Vorteil meiner Schreibweise sehe allerdings, dass ich einen 'Prozess' komplett innerhalb einer if-{ }-Struktur habe und es somit (auf alle Fälle für mich) übersichtlicher scheint.
Deine Programmstruktur ist scheint mir tatsächlich etwas einfacher. Es liegt meiner Meinung nach daran, dass die Einzel-Tastks in Deinem Beispiel mit konstanter Wiederholrate aufgerufen werden.
Bei mir sind die Einzeil-Tasks kleine State-Machines. Die States können einerseits von der Timer-Variblen zeitlich automatisch durchgezählt werden, oder man kann von einem Zustand in den anderen springen, indem man die Timervariable auf den Wert des entsprechenden Zustands setzt. Es kann auch ein automatischer Ablauf gestartet werden, wenn man die Timervarible auf den ersten Zustand setzt und beim Erreichen des letzten Zustand die Timervariable einfach nicht mehr weiterzählern lässt.

Was ich aber auf alle Fälle für vorteilhaft halte, ist, dass bei mir die CPU immer die while(1)-Schleife durchläuft und nicht in ein Warten übergeht.
Eigentlich wird bei meiner Struktur ja auch die while-Schleife ständig durchlaufen. Die Wiederholrate ist aber auf 1/10 Sekunde beschränkt. Alle Programmteile innerhalb der While-Schleife werden also mit 1/10 Sekunde Wiederholrate aufgerufen. So z.B. auch der Schrittregler im 2.ten Beispiel. Ich denke, dass für die meisten Aktionen diese Geschwindigkeit ausreichen sollte.
Der Vorteil des Herunterbremsens auf 1/10 Sekunde ist, dass die Programmteile innerhalb der While-Schleife genügend Rechenzeitreserve haben, falls diese im Laufe der Programmentwicklung etwas wachsen sollten.

Man könnte die While-Schleife auch beschleunigen, ich habe sie nur "vorsichtshalber" so langsam gemacht.

Edit: Man ist das blöd. Natürlich kann man die permante Aufgabe in die While-Schleife am Ende von robo.fr's Code stecken, wo er auf den Ablauf der kleinsten Zeiteinheit wartet!
Da hast Du recht, das habe ich auch irgendwann einmal festgestellt. Man kann in die zentrale Warteschleife für den 1/10 Sekundentakt tatsächlich etwas Schnelles reinstecken.

Gruss,
robo