Re: Problem mit pcfkeyb (interrupt?) Kategorie: Programmierung (von nitraM - 16.02.2010 11:14) | ||
Als Antwort auf Re: Problem mit pcfkeyb (interrupt?) von Markus H - 15.02.2010 21:32 | ||
| ||
Hallo Markus getchar wartet auf einen Tastendruck, der durch den Interupt erkannt wird. Wird der PCF abgefragt, wird der Int wieder gelöscht... ...schnipp... /****************************************/ /* Auf Tasteneingabe warten und */ /* Wert als ASCII-Zeichen zurückgeben */ /****************************************/ function getchar(byte delay) returns byte //delay in ms = Wartezeit bis Abfrage {int chars,chars2; byte i; chars=0; wait ports.get(IntPort)==0; if delay {chars=getstate(); sleep delay;} chars2=getstate(); if chars2 {chars=chars2;pressed=0xFF;} else pressed=0; for i=0...15 if chars and (1 shl i) return Char[i];// Rückgabe des ASCII-Codes beim Drücken einer Taste return 0;// Rückgabe von 0 beim loslassen einer Taste } ....schnapp... Dein Programm geht nach dem Schema: 1. warte bis eine Taste gedrückt wurde ist die Taste ="A" dann mem = mem - 1 wenn nicht... if pcfkeyb.getchar(0) == 0x42 { men = men - 1; umen = 0; } 2. warte bis wieder eine Taste gedrückt wurde ist die Taste ="B" dann mem = mem + 1 wenn nicht... if pcfkeyb.getchar(0) == 0x43 { umen = umen + 1; } if pcfkeyb.getchar(0) == 0x44 { umen = umen - 1; } Ich hoffe es wird dir jetzt klar... Grü�e nitraM | ||
Antwort schreiben Antworten: Re: Problem mit pcfkeyb (interrupt?) (von Markus H - 25.02.2010 20:53) |