Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: TIMER - Abfrage 20ms????? Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Olaf - 15.06.2010 18:07)
 Als Antwort auf Re: TIMER - Abfrage 20ms????? von Dietmar - 13.06.2010 19:11
Olaf nutzt:  Open-Micro, Open-Mini, Open-Midi, Open-Macro
Hallo Dietmar,

habe meinen Fehler gefunden.

> TIMER wird auf der Open-Macro alle 20 ms um eins erhöht. Nach 50 TIMER-Ticks ist eine Sekunde verstrichen.

Ja ist korrekt, wenn man eine Wortvariable als Vergleicher nimmt. Danke fĂĽr den Link.
Dies ging leider aus der Doku ( >..., zählt der Timer von 0 bis 255) nicht hervor, hatte deswegen nur ein Byte als Vergleicher genommen.
Dann ist wohl so eine Abfrage auf der Mikro/Midi nicht so ohne weiteres möglich (keine Wordvariablen)!
Wegen des Bytes hat die Makro wahrscheinlich so schnell gezählt, hängt wohl mit den Highbyte und Lowbyte zusammen. Aber ist ja auch nicht schlecht, so kann man auch kleinere Takte (ca. mal 3,56ms pro Abfrage) realisieren. Lief bei mir jedenfalls ohne Probleme.


Habe meine Timerfunktion jetzt geändert, so kann ich mehrere Zeiten auch quasi parallel laufen lassen ohne die Pause-Funktion zu nutzen, man muss halt nur die Zeit im Prog auf >0 und ==0 abfragen.


define TimerV WORD     'Vergleicher fĂĽr Timer

'................

FUNC FC_Timer

if TIMER<>TimerV then
   TimerV=TIMER

   if Blinktakt>0 then                 'Blinktakt Gelb
      Blinktakt=Blinktakt-1         'Zähler verringern
   end if
   if UMS_RotGruen>0 then                 'Umschaltung Ampel rot auf grĂĽn oder grĂĽn auf rot
      UMS_RotGruen=UMS_RotGruen-1                     'Zähler verringern
   end if
end if

return
end FUNC


Danke fĂĽr die Tips.

Viele GrĂĽsse

Olaf

 Antwort schreiben

Bisherige Antworten: