
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
> 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 |