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 Hannes - 4.04.2006 9:34)
Als Antwort auf Re: do - while Problem von PeterS - 3.04.2006 17:56
Ich nutze:
C-Control Pro Mega32, eigenes Board
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 PeterS - 5.04.2006 9:55)
    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)