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 > > Guten Abend allerseits ;) > > > > Ich bin leider gerade an einem Projekt am verzweifeln, da ich meinen Fehler nicht finde. Ich bin leider > > noch Anfänger was die Programmierung angeht und könnte etwas Unterstützung gebrauchen. > > > > (Teil-)Aufgabe: 4 Ziffern über das Keypad eingeben, ist Ziffer1 eine "5" soll LED1 aufleuchten. > > Sind 4 Stellen auf dem LCD beschrieben wieder bei Pos.1 starten. > > > > Problem: Das Programm läuft soweit. Allerdings funktioniert die letzte if-Anweisung nicht [Auswertung()- > > ganz unten im Text mit Kommentar-). > > Der Wert der ersten Zahl (pin[0]) wird aber korrekt zugeordnet. > > > > Wenn jemand Lust und Zeit hätte dies Mal durch zu schauen wäre ich sehr dankbar ;) Ich komme einfach > > nicht auf den Fehler. > > > > Gruß > > Matthias > > > > > > //Tastaturabfrage der Folientastur > > void codeeingabe(void) > > { > > code_in=Key_Scan(); > > if (code_in!=0) > > { > > code_ch=Key_TranslateKey(code_in); //Eingabe wird in ASCII-Z umgewand. > > > > if (code_ch!=code_ch1) //Abfrage auf neue Eingabe > > { > > code_ch1=code_ch; > > > > if (Pos==0) > > { > > pin[0] = code_ch; > > } > > > > if (Pos==1) > > { > > pin[1] = code_ch; > > } > > > > if (Pos==2) > > { > > pin[2] = code_ch; > > } > > > > if (Pos==3) > > { > > pin[3] = code_ch; > > LCD_CursorPos(0x00+7); //Anzeigen der Variablen > > LCD_WriteChar(pin[0]); // pin[0] (nur als Test!) > > auswertung(); > > } > > > > if (Pos==4) > > { > > LCD_ClearLCD(); > > LCD_CursorOff(); > > Pos = 0; > > pin[0] = code_ch; > > } > > > > LCD_CursorPos(0x40+Pos); > > LCD_WriteChar(code_ch); > > Pos++; //Display Position um 1 erhöhen > > } > > } > > > > else > > { > > code_ch1=-1; > > } > > } > > > > void auswertung(void) > > { > > // if(pin[0]=5) // Diese If-Anweisung funktioniert nicht > > // { // obwohl mir für pin[0] der Wert 5 ausgegeben wird. > > LED1_On(delval); // Ohne diese leuchtet die LED1. > > // } > > } > Moin Matthias, > Du hast in Deiner IF-Klammer eine Zuweisung statt eines Vergleiches > pin(0) = 5 heißt, daß Du den Wert von pin [0] auf 5 setzt. > Versuchs mal mit dem "==" > if (pin[0] == 5 ) { > ... > } > > Hanns