Timer / Zykluszeit

bennelli
2009-08-11
2009-08-26
  • bennelli - 2009-08-11

    Hallo zusammen!

    Ich habe ein Programm mit einer Zykluszeit von ca. 120ms.

    Angenommen in einem Programm-Teil ist ein Timer der nach der Zeit x

    irgendwann mal ausgelöst wird.

    Muss ich im dümmsten Fall genau einen Zyklus warten, bis ich das

    Ergbenis des Timers auswerten kann.

    Beispiel Programmablauf:

    Timer wird im Zyklus bei 20ms abgefragt, bei 30ms wird der Timer aktiv,

    da die Zeit abgelaufen ist.Wird nun das Ergebnis erst im nächsten Zyklus

    verarbeitet?

    Bringt es etwas einen Task zu erstellen der Ereignisgestuert getriggert

    wäre auf den Timer ?

    Vielen Dank schon mal...

    Grüße,

    Benni

     
  • Rolf-Geisler - 2009-08-12

    Hallo,

    Ist genau so wie Du vermutest: Die Timerzustände kannst Du natürlich nur dann erfragen, wenn der Programmteil, in dem sie deklariert sind, auch bearbeitet wird.

    In diesem Zusammenhang: Die Timer starten natürlich auch nur dann, wenn der Programmteil bearbeitet wird. Also kann ein Programm mit einer Zykluszeit von 120 ms nicht schon nach 20 ms einen Timer starten.

    Alternative: lege den Timer in einen separaten Task mit einer kurzen Zykluszeit und hoher Priorität (damit die Timer nicht von anderen Tasks ausgebremst werden). Die Timerzustände kannst Du über die globalen Variablen allen anderen Programmteilen bekannt machen.

    Nur: was bringt das, wenn der Programmteil, welcher die Timerzustände auswertet, mit 120 ms läuft? Ich würde eher versuchen, dieses Programm zu beschleunigen.

    Gruss

    Rolf

     
  • guerillero - 2009-08-13

    Hi,

    der Ereignissgesteuerte Task müsste helfen.

    gruß

    Michael

     
  • bennelli - 2009-08-26

    Vielen DANK !

     

Log in to post a comment.