STM32F4 Verwendung Tastendruck Ps2 Tastatur

OP (Firma: keine) #3202601
Lesenswert?

Ich versuche gerade ein kleines Spiel mit anderen Leuten zu 
programmieren. Es werden auf einer PS2 Tastatur Tasten gedrückt, diese 
lösen bei jedem Druck einen Interrupt aus und wandeln den Scancode in 
Ascii um. Dieser Teil funktioniert.
Das Spiel ist ein Hürdenspiel, also eine Tastenkombination von l/r 
laufen und s zum springen sollen das Spiel simulieren.
Meine Versuche die eingelesene Taste in einer Variablen abzuspeichern 
und diese dann zum vergleichen heranzuziehen (egal ob scancode oder 
ascii) sind gescheitert.
und mittlerweile frage ich mich eigentlich nur noch wie bekomme ich 
meine gedrückte Taste in die Spielefunktion???
Ich weiss das klingt echt banal, aber ich bin über meine Versuche etwas 
matschig geworden ;)
Hat irgendjemand eine Idee?
Gast #3203003
Lesenswert?

Macht ein Diagramm wie soll dein Spiel funktionieren, wann erwartes du 
von dem Benutzer Eingabe ? was soll dann passieren ? Wie kommst du dahin 
?. Irgendwo findest du dann wo die abfrage der Tasten reinkommen soll.
#3203029
Lesenswert?

>Es werden auf einer PS2 Tastatur Tasten gedrückt, diese
>lösen bei jedem Druck einen Interrupt aus und wandeln den Scancode in
>Ascii um. Dieser Teil funktioniert.

wenn du das geschafft hast, ist doch ein vergleich auf eine Taste
kein Problem :
1
uint8_t ascii;
2

3
while(1) {
4
  ascii=getAsciiKey(); // << das hast du schon
5
  if(ascii=='a') {
6
    // Taste-A wurde gedrückt
7
    laufeLinks();
8
  }
9
  else if(ascii=='d') {
10
    // Taste-D wurde gedrückt
11
    laufeRechts();
12
  }
13
  else if(ascii=='s') {
14
    // Taste-S wurde gedrückt
15
    springe();
16
  }
17
}


oder verstehe ich da was falsch ?


Gruss Uwe
OP (Firma: keine) #3203820
Lesenswert?

Ich hab´s anderes gelöst, aber trotzdem danke. mein Problem war, dass 
aus welchem Grund auch immer meine Spielfunktion nicht auf die 
getascii() zugreifen hat können. Ich hab jetzt einfach in meiner 
getascii ein Bit auf einem Pin gesetzt, wenn l gedrückt wird und auf 
einem anderen bei r. In der Spielfunktion setzte ich es wieder zurück. 
Schon schlimm, wenn man für eine so simple Lösung 6 Stunden verscheisst.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren