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

Re: do - while Problem Kategorie: Programmierung C (von PeterS - 5.04.2006 9:55)
Als Antwort auf Re: do - while Problem von Hannes - 4.04.2006 9:34

Hallo,

word key_in;

while(1)
{
     key_in=Key_Scan();
      AbsDelay(500);
    Msg_WriteWord(key_in)
}

Teste mal diese Schleife. Wenn keine Taste gedrückt wird, sollte key_in 0 sein. Ansonsten wird
für jede gedrückte Taste ein Bit im Wert von key_in gesetzt. Sollte der Wert ungleich null sein wenn
keine Taste gedrückt ist, dann ist vermutlich die Hardware Schuld. Bitte dann erstmal die Verbindung
der Tastatur überprüfen.

Gruss Peter


> Hallo,
>
> ich möchte die Tastatur solange abfragen bis ein Zeichen gedrückt wurde und die gedrückte Taste
> einer Variablen übergeben.
>
> das Tastaturabfrage-Programm funktioniert bei mir aber nicht.
> ______________________________________________________
> word key_in;
> char key_ch;
>
> void main(void)
> {
>     Key_Init();
>     key_ch = -1;
>
>     do
>     {
>         key_in=Key_Scan();
>         key_ch=Key_TranslateKey(key_in);
>         AbsDelay(200);
>     }
>     while(key_ch == -1);
>     Msg_WriteChar(key_ch);
>
>     while(1);
> }
> ________________________________________________________
>
> nach dem Start wird folgendes ausgegeben:
>
> Interpreter gestartet - 2kb RAM                                                
> ÿ
>
>
> D.h. die do-Schleife wird genau 1x durchlaufen, auch wenn key_ch==-1 ist und dann das Zeichen "ÿ"
> ausgegeben, das ist nach meiner Tabelle das Zeichen 255 des ANSI Zeichensatzes.
>
> Kannst Du das reproduzieren??
>
>
> Gruss
>
>
>
>
>
>
>
>
>
> > Hi,
> >
> > ich wei� nicht genau was Du machen willst. Möchtest Du die Tastatur pollen bis eine Taste gedrückt wurde,
> > empfehele ich folgendes:
> >
> > do
> > {
> >     key_in=Key_Scan();
> >     key_ch=Key_TranslateKey(key_in);
> >     AbsDelay(200);
> > }
> > while(key_ch == -1);
> > Msg_WriteChar(key_ch);
> >
> > Die Schleife läuft solange, bis der Wert von key_ch ungleich -1 ist. Das bedeutet ein gültiges Zeichen
> > wurde getippt.
> >
> >
> > Gruss Peter
> >
>


    Antwort schreiben


Antworten:

Re: do - while Problem (von Hannes - 5.04.2006 11:07)
    weitere Probleme mit Datentyp Char (von Hannes - 9.04.2006 16:59)
        Re: weitere Probleme mit Datentyp Char (von PeterS - 14.04.2006 15:33)
            Bis wann kann man mit dem korrigierten Interpreter/Compiler rechnen? (von Hannes - 24.04.2006 8:01)