Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

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
Ich nutze:
CC-Pro 128 Application Board, Pro-Bot128
> 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)