Dazu kann ich was sagen.Jetzt mal die erste Frage:
Wenn ich eine bestimmte Zeit warten muss, eben Zeitpunkt und dann Einspritzdauer, sollt ich da nen Timer verwenden oder reicht eine einfache Waitfunktion mit nem passend hohen Wert?
Ich löse solche Sachen immer folgendermaßen:
Ich stelle meinen Timer so ein, dass er jede Millisekunde (ms) einen Interrupt auslöst.
In der Interrupt Routine werden alle zeitabhängigen Variablen verarbeitet.
Willst du zB etwas eine bestimmte Zeit lang machen, dann brauchst ne
Variable dafür: nennen wir sie mal EINSPRITZDAUER.
Dann muss in der Timer Interrupt Routine stehen:
if(EINSPRITZDAUER){ EINSPRITZDAUER--; }
Im Hauptprogramm wird laufen folgendes ausgeführt:
if(EINSPRITZDAUER){ einspritzen }else{ nicht einspritzen }
Will man jetzt einspritzen, dann setzt man EINSPRITZDAUER=10.
Somit spritzt er 10ms ein.
Den Aufruf der Interruptroutine kann man natürlich auch öfter aufrufen lassen....
Vielleicht hilft dir das was ...
Lesezeichen