Für dieses Forum muß Javascript im Browser aktiviert werden!
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 ! > > Danke für die Erklärung, > > > > das mit Capture funktioniert perfekt (wenn man es weiß :o)) > > > > ich will keinen neuen Thread anfangen, deswegen mein nächstes Problem gleich hier :o) > > > > bevor ich poste probiere ich übrigens immer mindestens 2 Tage selber, das Problem > > zu lösen.... > > > > Ich komme hier nicht mehr mit break heraus....entweder funktioniert der Geber, oder die > > Tastatur....wo ist den mein Denkfehler ??? Auch meine Wertbegrenzung funktioniert nicht, nach 255 > > fängt der Geber wieder bei 0 an.....ich hätte gerne, das nach 255 nicht´s mehr passiert, unter Null > > auch nicht... > > Hallo Sascha, > > 1. Wo willst Du denn mit break hin? > Du befindest Dich in einem Thread in einer loop. break beendet die loop. > Der thread ist auch eine loop, also geht es sofort wieder vorne los. > > 2. wert ist byte -- ein vergleich auf >255 oder < 0 ist unsinnig > > 3. wert ist byte. Du addierst/subtrahierst jeweils 2. Beim ersten start ist wert 0. > 0-2=254 > > Du unterläufst also Deine wertbegrenzung. > > Gruß krassos > > > > > > > > <code> > > byte wert; > > int PushButton; > > > > thread Geber_dim1 // Inkremental Geber über 3 Ports > > > > { > > int SpurA, SpurB, SpurAA; > > //if wert >=255 wert=255; > > //if wert <=0 wert = 0; > > int Key; > > Key=pcfkeyb.getchar(0); > > > > > > > > loop > > { > > PushButton = !(ports.get(12)); > > SpurA = !(ports.get(14)); > > SpurB = !(ports.get(13)); > > > > > > if SpurA < SpurAA //positive Flanke > > { > > if SpurB == -1 wert = wert + 2; > > if SpurB == 0 wert = wert - 2; > > SpurAA = SpurA; //Zustand am Port merken, für Flankenerkennung > > // if wert >= 255 wert=255; > > //if wert <= 0 wert = 0; > > } > > > > if SpurA > SpurAA //negative Flanke > > { > > if SpurB == -1 wert = wert - 2; > > if SpurB == 0 wert = wert + 2; > > SpurAA = SpurA;//Zustand am Port merken, für Flankenerkennung > > //if wert >=255 wert=255; > > //if wert <=0 wert = 0; > > } > > > > > > > > if PushButton == -1 wert = 0; > > > > > > > > if Key==key_F1 pcflcd.setLight(1); // Displaybeleuchtung an > > if Key==key_F2 pcflcd.setLight(0); // Displaybeleuchtung aus > > if Key==key_prev {del(); break;} // Back > > > > > > } > > } > > </code>