
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
> > > Hallo! > > > > Ich habe angefangen, mich mit der Micro zu beschäftigen... (hab ne Micro PCB und P/A-Board) > > > > Bereits jetzt ist mir klar, daß sich das große C mit dem Support und der Dokumentation zur Micro ne glatte Sechs verdient hat. > > > > Es ging mit den falschen Widerständen R5+R6 los... (P/A-Board gekauft am 02.02.2005!) > > > > Das die Systemvariable "TIMER" von 0 bis 49 (statt wie im Handbuch beschrieben von 0 bis 59) zählt, ist mir inzwischen klar. > > > > Ich habe mit dem Simulator herumgespielt: > > > > ' --- TIMER_Test.bas - Anfang --- > > define TXD port[1] > > define A byte[1] > > > > BAUD 9600 > > > > #LOOP > > A = TIMER > > print A > > goto LOOP > > ' --- TIMER_Test.bas - Ende --- > > > > Im Simulationsbetrieb erhalte ich im Fenster "C-Control Ausgaben" für A die Werte 0 bis 255. > > Unter "Überwachte Variablen" läuft A auch von 0 bis 255 - ok, aber TIMER läuft auf 33000 hoch und springt dann auf -33000, um dann wieder auf 33000 hochzuzählen - versteh ich nicht. > > Das obige Programm in die Micro übertragen ergibt in Terminal.exe Werte von 0 bis 49. > > > > > > Liegt es an mir, oder weiß der Simulator nicht, daß TIMER nach 49 auf 0 springt? > > Muß ich dem Simulator die Limits für TIMER selbst beibiegen? > > > > Vielen Dank für Eure Erklärungen. > > Gruß > > Øle! > > > > > > Anfängerfehler, ist schon jedem von uns passiert! > > Mal eine Erklärung, die kein Informatikstudium (Was ist ein Einer und Zweierkomplement) voraussetzt: > > Versuche es mit > > define A word[1] > > ... denn binär dargestelte Dezimal-Werte > 255 oder < 0 brauchen mehr als ein Byte zur Repräsentation. > > Im Manual steht der Definitionsbereich einer WORD (=2 Byte) Variable - schlag mal nach. > > Der Timer Bereich ist so definiert, dass beim Überlauf (grösster definierter Wert wird überschritten), mit dem kleinst möglichen Wert (der ist ja laut Manual unter Kenntnis der Theorie des Zahlenstrahls dann negativ) wieder fortgesetzt wird. > > Das Dezimalsystem startet nach dem Überlauf (Zahl > 9) auch wieder mit der kleinst möglichen Zahl/Ziffer (=0 ...,"mit eins im Sinn ..."). > > Denksportaufgabe: Unter Beachtung des Definitionsbereiches einer WORD-Variable: Welche Zahl hättest Du denn nach dem Überlauf erwartet ? > > > Grüsse > > > ... die MICRO kennt keine WORD-Variable, nur Byte !!! mfg Gerhard |
| Antwort schreiben |