Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: system.timer() Überlauf Kategorie: Programmierung (von AndrĂ© H. - 2.08.2012 16:13)
Als Antwort auf system.timer() Überlauf von Detlef - 6.07.2012 14:25
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, C-Control II Station, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT V3.1
Hallo Detlef,

> wie ist das mit dem TimerĂĽberlauf genau:
> Ich habe gelernt, wenn ich von system.timer() eine Long Variable abziehe, ist das Ergebnis immer
> korrekt, egal ob TimerĂĽberlauf.
> timer = system.timer();
> ...
> if system.timer()-timer >=500
> ...


Korrekt.
 
 
> Wie verhält es sich denn, wenn ich in diesem Spiel noch einen Offset addiere?
>
> timer = system.timer()+30000;
> ...
> if timer - system.timer() <=0
> ...

>
> Funktioniert das? Was ist mit dem Fall, daĂ? system.timer() zusammen mit dem Offset einen Ă?berlauf
> produziert? Was steht dann in timer, wie läuft dann der anschlie�ende Vergleich?

Das wird nicht immer Funktionieren, da das Ergebnis fĂĽr bis zu 30sek. nicht stimmen kann.
Wichtig ist bei der Timer-Berechnung mit �berläufen immer, da� binär gesehen
vom grö�eren Wert immer der kleinere abgezogen wird. Also ohne beachtung des Vorzeichens.

 
> Ich verwende das, weil ich in einem Thread mehrere verkette Abläufe nach gleichem Schema aber mit
> unabhängig getriggerten Schrittfolgen abhandele. Dieser Thread muckt nach 14 Tagen - 2 Monaten
> immer rum. Alternativ: Wie setze ich system.timer() zyklisch zurĂĽck? (Resettaste drĂĽcken ist die
> heutige Lösung!)

Den Timer kann man nicht zurĂĽcksetzen. Zumindest nicht direkt.
Das sollte man auch nicht, da am Timer noch andere Dinge hängen.

Aber warum benutzt Du nicht fĂĽr den Offset eine Variable?

Wenn Du nach Ablauf einer Zeit etwas auslösen willst, reicht folgendes:
long Offset;
...
Offset=30000;
timer=system.timer();
...
...
if system.timer() - timer>=Offset { ... }


MfG André H.



Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten:

Re: system.timer() Überlauf (von Detlef - 28.08.2012 8:28)