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> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > > Hallo, > > > > ich bin ein Neuling in Sachen C-Control und wollte diese > > nutzen, um eine kompliziertere Steuerung zu erledigen > > (Habe allerdings viele Jahre Erfahrung in solcher Art > > Elektronik). > > Momentan scheitere ich jedoch noch an den einfachsten Sachen. > > Ich wollte mit der Funktion Timer_TickCount() die Zeit > > zwischen zwei Events messen, bekomme aber nur "Hausnummern". > > > > Um dies nachzuvollziehen, habe ich folgendes kleines Pro- > > gramm geschrieben und es kommt wieder nur Mist heraus. > > Wer kann mir da helfen? Nachstehend das Programm und der > > Output. > > > > Gruß b*k* > > Hallo, > > ich habe das Programm mit Mega128 und Mega32 getestet, und jeweils nur Abweichungen von maximal 1 > gehabt. Benutzt Du auch die neueste Version (2.01) der IDE? > > Gruss Peter > > > > > > > > // Mega32: Testen von Timer_TickCount > > // erforderliche Library: IntFunc_Lib.cc > > > > // Deklaration der Formatierungsvariablen > > #define CR 13 > > #define Leer 32 > > > > //------------------------------------------------------------------------------ > > // Hauptprogramm > > // > > void main(void) > > { > > int n; > > word zeit0, zeit1, zeit2; > > > > n=0; zeit1=0; zeit2=0; // Initialisierung > > > > while (n<6) > > { > > zeit0 = Timer_TickCount(); > > AbsDelay (2000); > > zeit1 = Timer_TickCount(); > > AbsDelay (3000); > > zeit2 = Timer_TickCount(); > > n++; > > Msg_WriteWord(n); > > Msg_WriteChar(Leer); > > Msg_WriteWord(zeit1); > > Msg_WriteChar(Leer); > > Msg_WriteWord(zeit2); > > Msg_WriteChar(CR); > > }; > > } > > > > Ausgabe: Durchlauf 1: > > > > Interpreter gestartet - 2kb RAM > > 1 434 651 > > 2 335 300 > > 3 201 300 > > 4 434 320 > > 5 201 300 > > 6 327 300 > > > > Zeit: 41050ms > > Interpreter gestoppt > > > > Kommentar: Die Zeiten im Durchlauf 3 und 5 sind (zufällig) > > richtig, der Rest ist zu vergessen. > > > > Ausgabe: Durchlauf 2: > > > > Interpreter gestartet - 2kb RAM > > 1 433 353 > > 2 203 301 > > 3 200 300 > > 4 204 300 > > 5 200 301 > > 6 204 300 > > > > Zeit: 33000ms > > Interpreter gestoppt > > > > Ausgabe: Durchlauf 3: > > > > Interpreter gestartet - 2kb RAM > > 1 200 303 > > 2 203 300 > > 3 201 300 > > 4 202 301 > > 5 200 300 > > 6 223 300 > > > > Zeit: 30350ms > > Interpreter gestoppt > > > > > > > > Ausgabe: ca. Durchlauf 10: > > > > Interpreter gestartet - 2kb RAM > > 1 200 300 > > 2 219 301 > > 3 299 520 > > 4 433 649 > > 5 208 301 > > 6 204 300 > > > > Zeit: 39360ms > > Interpreter gestoppt > > > >