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: zeitschaltung - (Korrektur-Nachtrag) Kategorie: Programmierung Basic (von Kay - 22.04.2005 13:55)
 Als Antwort auf Re: zeitschaltung von Kay - 20.04.2005 13:19
Kay nutzt:  CC1-Unit V1.1
> das is ne ganz einfache rechnung:

ERSTMAL ja.. soweit richtig   :-)

> der freilauftimer ist eine systemvariable, wird ununterbrochen in 20-ms-schritten
> im bereich -32768 <= timer <= 32767 (also wie ein word) incrementiert und läuft
> dabei über... macht 65536 schritte ... * 20 ms ergibt einen überlauf alle 21,845 minuten.

auch das stimmt noch soweit

> will heißen: liegt deine zeitbeschränkung innerhalb dieses zeitrahmens, kannst
> du das programmkonstrukt bis dahin auch so verwenden.

DAS aber nicht mehr!!! warum? weil abs (timer - timerini) zwar bezüglich des
überlaufs von timer eine sichere sache ist, aber selbst einen rechenüberlauf
erzeugt. und zwar genau in der hälfte der zeit. wenn nach 10 minuten und 55,3 sec.
die differenz zwischen dem letzten timerstand seit beginn der messung und dem
aktuellen timer 32767 überschreitet, passiert das, was man vom CControl I
gewohnt ist, nur, dass wegen abs natürlich keine negative zahl ausgegeben
wird, sondern die differenz wieder kleiner wird.

deshalb:

> erst, wenn es um  größere abschnitte geht, muss man einen minutenzähler einbringen und anhand
> des timers einen weiteren zähler bedienen. (teilen)

sicher bleibt es dabei, nur das man die messgrenze bei 10 minuten, also 30.000 digits
setzen muss, wenn man mit der beschriebenen methode arbeiten möchte.

 Antwort schreiben

Bisherige Antworten: