Re: Programmierhilfe für Tastatureingabe Kategorie: Programmierung C (von HannsW - 16.06.2009 8:14) | ||
Als Antwort auf Programmierhilfe für Tastatureingabe von MatthiasK. - 16.06.2009 0:16 | ||
| ||
> 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 | ||
Antwort schreiben Antworten: Re: Programmierhilfe für Tastatureingabe (von Matthias - 16.06.2009 12:15) Re: Programmierhilfe für Tastatureingabe (von werner - 16.06.2009 13:14) Re: Programmierhilfe für Tastatureingabe (von Matthias - 16.06.2009 14:50) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum