Gast
#1587060
Tach, wenn ich mir die üblichen Delay Loop Routinen ansehe, dann vernichten sie einfach Zeit, während der man nichts anderes tun kann. In der Steuerungstechnik benötigt man jedoch die Möglichkeit, mehrere Delays parallel zur gleichen Zeit ablaufen zu lassen. So sind zum Beispiel in Speicherprogrammierbaren Steuerungen (SPS), wo diese delays "Timer" heißen (hat nichts mit den Timern in Microcontrollern zu tun), eine dreistellige Anzahl parallel laufender Timer keine Seltenheit. Dafür bieten diese SPS-Timer keine hundertprozentige Genauigkeit und können bisweilen ein wenig in der Dauer schwanken. (genauer gesagt, um eine Zykluszeit der SPS) Es wird klar, dass die reine Zeitvernichtungsmethode in Loops hier nicht funktioniert, da dann nur eine Zeit und nicht mehrere parallel ablaufen können. Andere hier im Forum existierende Nachbildungen von SPS verbraten pro SPS Timer einen Hardware-Timer des AVR. Eine dreistellige Anzahl von Timern ist damit also nicht zu erreichen. Kennt jemand ein Programmbeispiel, bei dem mehrere parallele "Timer" (delays) parallel ablaufen können? Um deren Funktionieren zu verifizieren, könnte ich dieses so umschreiben, dass man für 14 Timer 14 Controller-Eingangspins als Timereingänge hernimmt und 14 Controller-Ausgangspins als Timerausgänge. Dann könnte man mit einem Oszilloskop überprüfen, ob die Funktion korrekt ist.