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 alle zusammen, > > ich teste gerade meine 1x12 Tastatur. Ich gebe 6 Einzelziffern ein, die dann in eine Zahl zwischen > 0 und 999999 adaptiert werden soll. Klappt alles wunderbar, die 6 Ziffern werden in einem Byte-Array > korrekt gespeichert, aber sobald ich die Variable v durch Multiplikation und Addition der Array-Elemente > berechne, verrechnet sich meine CC2, sobald ich an der 2. Stelle (also Array-Element i[1]) eine Zahl > größer 3 (???) eingebe. > Also wenn ich z.B. 999999 eingebe, kommt 934463 als Ergebnis, bei 939999 stimmt es. > Gebe ich z.B. 040000 ein, kommt als Ergebnis -25536... bei 949999 sind es 884463. > > Irgendwie stehe ich mit einem Brett vor dem Kopf auf einem großen Schlauch! > Mich macht es stutzig, dass das nur bei der 2. Stelle passiert. v ist ja long und sollte doch > eingentlich mit 999999 kein Problem haben? > > Ich habe meinen Code angehängt, evtl. fällt jemandem etwas auf... > > Vielen Dank im Voraus. > > Gruß Pet > > <code> > thread main > { > run 80; > lcdext.init(); > rbkeyb.init(0,0); > lcdext.clear(); > > //--------------------------------- > //Lokale Variablen > //--------------------------------- > long v; > byte in,pos,i[6],keycode; > string u; > > //--------------------------------- > //Wertzuweisungen > //--------------------------------- > v = 0; > in = 0; > pos = 0; > i[0] = 0; > i[1] = 1; > i[2] = 0; > i[3] = 0; > i[4] = 0; > i[5] = 0; > > //--------------------------------------- > //6-stellige Zahl eingeben, default 10000 > //--------------------------------------- > lcdext.goto(2,0); > lcdext.print("010000"); > lcdext.goto(2,0); > while rbkeyb.get() != 0x23 > { > lcdext.goto(2,pos); > lcdext.setcursor(3); > in = rbkeyb.get(); > if in == 0x2A > { > lcdext.goto(2,pos); > pos = pos - 1; //Cursor eins nach links > lcdext.goto(2,pos); > if pos > 5 pos = 0; // Cursorposition auf 0 bis 5 begrenzen > if pos < 0 pos = 0; > } > else > { > if in > { > if in==0x31 {keycode=1;} > if in==0x32 {keycode=2;} > if in==0x33 {keycode=3;} > if in==0x34 {keycode=4;} > if in==0x35 {keycode=5;} > if in==0x36 {keycode=6;} > if in==0x37 {keycode=7;} > if in==0x38 {keycode=8;} > if in==0x39 {keycode=9;} > if in==0x30 {keycode=0;} > i[pos] = keycode; > lcdext.put(in); > pos = pos + 1; > if pos > 5 pos = 5; > if pos < 0 pos = 0; > } > } > sleep 100; > } > > v = i[0]*100000 + i[1]*10000 + i[2]*1000 + i[3]*100 + i[4]*10 + i[5]; > sleep 500; > lcdext.clear(); > lcdext.setcursor(0); > > //---------------------------------- > //Ausgabe auf externem LCD > //---------------------------------- > loop > { > u = ""; > str.putlong(u,v); > lcdext.goto(1,0); > lcdext.print(u); > } > } > > </code>
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB