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

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

Kommentar:
Einfügen von HTML im Kommentar:

Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a>
Bild einfügen: <img src="BILDURL">
Text formatieren: <b>fetter Text</b>  <i>kursiver Text</i> <u>unterstrichener Text</u>
Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b>
C2 Quellcode formatieren: <code>Quellcode</code>
ASM Quellcode formatieren: <asm>Quellcode</asm>
(Innerhalb eines Quellcodeabschnitts ist kein html möglich.)
Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst !  

> > Hallo NitraM > > > > Danke für die Antwort, genau dieses Wissen hatte ich, als ich den Thread geschrieben hatte. > > > > Problem: Funktioniert nur nicht. Nach einem "gefühlten" Monat, kommt es zu Fehlern bei > > allen Abläufen, die diesen Thread verwenden. Das Testen oder Fehlerprovozieren ist fast unmöglich > > da es ja nur alle 50 Tage passiert!. Und ab dann ist bis zum Reset der Wurm drin. > > Warum ist das testen nicht möglich??? > Du kannst den Timer mit folgender Routine auf einen beliebigen Wert setzen: > <code> > //------------------------------------- > inline function settimer (long timer) > //------------------------------------- > { > inline vmcodes.VM_STORE_SYSVAR_LONG | (vmcodes.LSYSVAR_TIMER_MS << 8); > } > </code> > > Damit dir hier der Timer-Interrupt nicht dazwischenfunkt, würde ich die Funktion so aufrufen: > <code> > yield; > timerold=system.timer(); > wait system.timer()<>timerold; > settimer(wert); > </code> > > Übrigens sollte man, um mit dem Timer eine Wartezeit zu berechnen, auf dieses Konstrukt verzichten: > timer+wartezeit<=system.timer() > Bei einem Überlauf ist der Vergleich durch die negativen Werte > eine Zeit lang ungültig. > > Besser ist es, dies so zu berechnen: > system.timer()-timer<=10000 > > Hier wird die Differenz gebildet. Zu beachten ist aber, daß immer vom "höheren" Wert > der "kleinere" abgezogen wird. (Oder anders ausgedrückt: Vom aktuelleren (Timer-)Wert muß > immer der alte Wert abgezogen werden.) > Nur so ist die Differenz immer positiv. > > Probleme mit einer falschen Berechnung treten daher erst nach ca. 3,5 Wochen auf, > und wiederholen sich dann etwa alle 7 Wochen. (solange dauert es, bis der Timer einmal rum ist.) > > nitraM
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB