Re: do - while Problem Kategorie: Programmierung C (von PeterS - 3.04.2006 17:56) | ||
Als Antwort auf do - while Problem von Hannes - 3.04.2006 9:30 | ||
| ||
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 > Hallo, > > möchte mit der 12er-Tastatur einen oder mehrere Parameter einlesen (z.B. stellen der Uhrzeit). > Es soll die do-Schleife solange durchlaufen werden, bis eine Taste gedrückt wurde. > Wenn keine Taste gedrückt wird ist der Rückgabewert -1 und somit müsste while(key_ch==-1) > die Schleife immer durchlaufen, tut sie aber nur 1x. > > while(0) do-Anweisung wird 1x durchlaufen = ok > while(1) do-Anweisung wird endlos durchlaufen = ok > while(key_ch) do-Anweisung wird endlos durchlaufen auch wenn man Taste 0 drückt > > Ist mein Programm korrekt???? > > Danke > > > > _____________________________________________________________ > > word key_in; > char key_ch, std_z; > > void main(void) > { > std_z=0; > Key_Init(); > std_z=key_input(); > Msg_WriteChar(0x20); > Msg_WriteChar(std_z); > while(1); > > } > > char key_input(void) > { > do > { > key_ch=-1; > key_in=Key_Scan(); > if (key_in != 0) > key_ch=Key_TranslateKey(key_in); > AbsDelay(200); > Msg_WriteChar(key_ch); > } > while(key_ch == -1); > return key_ch; > } | ||
Antwort schreiben Antworten: Re: do - while Problem (von Hannes - 4.04.2006 9:34) 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) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum