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

Re: ich komme mit system.timer() nicht klar! Kategorie: Programmierung (von AndrĂ© H. - 20.02.2005 14:51)
Als Antwort auf Re: ich komme mit system.timer() nicht klar! von CodeXP - 13.02.2005 20:26
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT V3.0
Hallo,

> sicher nicht?
>
> und was wenn:
>
> Die C-Control II etwas über 24 Tage lang läuft und
> der Wert von dem System.Timer() ca. bei 2147483100 ist.
> Und nehmen wir auch an, dass _lctmr schon abgelaufen ist:
>
>
>   ctmr = system.timer();
>   if(_lctmr < ctmr)
>     {
>       // ctmr ~= 2147483100;
>       _lctmr = ctmr + 500; // 0.5 Sek. Interval
>       stports.togLCDlight();
>     }
>
>

>
> Nach meiner Einschätzung wird da wohl ein Problem geben.
> (wenn bis zur nächsten Prüfung mehr als 47 Millisekunden vergehen)
> Aber ich kann mir keine Lösung denken. Und ich bitte um Hilfe!

ich sehe hier wirklich nicht, warum es bei einem TimerĂĽberlauf
zu einem Problem kommen sollte.
Solange alle Datentypen vom Typ long sind, passiert nichts.
Nur bei Deiner Abfrage kann es zu einem Problem kommen.

Jedoch sollten Timerabfragen immer nach diesem Schema laufen:
long timer;
 timer=system.timer();
 loop
 {
  ...
  // alle 500ms ausfĂĽhren
  if  system.timer()-timer>=500
   {
    timer=system.timer();
    ...
   }
 }


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: ich komme mit system.timer() nicht klar! (von CodeXP - 4.03.2005 4:29)