Hi, ich arbeite wieder an meinen Hürdenlaufspiel und möchte nun eine Erweiterung machen. Es geht darum, dass mit LED´s signalisiert wird, dass eine Taste gedrückt werden soll. Es gibt mehrere Sequenzen (laufen, springen,...) und einen Timer, welcher mir die Endzeit abstoppt. Das Spiel läuft im IRQ vom Timer. Funtkioniert alles super. Nun möchte ich, dass 2 Leute gleichzeitig spielen können. Die Logik sagt mir, dass es nur nacheinander gespielt werden kann, da ja 2 Interupts, die nur nacheinander abgearbeitet werden können. Steh ich auf der Leitung und es gibt eine einfache Möglichkeit oder funtkioniert meine Logik noch, die sagt sie können nur nacheinander. Weiß jemand einen Ausweg?
Gast
#3224370
Julia Scheidinger schrieb: > Weiß jemand einen Ausweg? Müssen denn Beide in die gleiche Richtung laufen?
Sie laufen mit unterschiedlichen Tastenkombinationen, aber sie sollten gleichzeitig laufen.
Gast
#3224433
Hallo Julia, ich kenne dein Hürdenlaufspiel nicht, deshalb mal ganz ins Blaue geraten. Du hast Tasten, die für laufen und springen stehen, und wertest diese im Timerinterrupt aus. Jetzt möchtest du Anzahl der Tasten verdoppeln und dafür wieder einen Timer benutzen? Ich sehe da nur die Möglichkeit alle Taster an einen ADC/Port zu hängen und den Spannungsabfall zu messen. Dazu müsste der Spannungsabfall pro Taster eindeutig identifizierbar sein (Widerstandswert!). Andere alternative du rechnest per Software den entstandenen Zeitversatz, zwischen den Interrupts, heraus, solltest dann aber immer mit etwas Jitter rechnen. Dritte Möglichkeit, wenn der Controller das kann, bei Eintritt in die ISR erhält der entsprechende Interrupt die höchste Priorität (je nach Logik auch gern die niedrigere Prio). Dadurch wird der schnellere/langsamere bevorzugt... Beste Grüße public
Ich hab 2 Timer rennen in deren Interrups sich die Spiele befinden. Pro Spiel habe ich 3 Tasten, die gedrückt werden müssen. Dann gibt es noch den Interrupt von der PS2 Tastatur (höchste Priorität), welcher die Tastendrucke erfasst. Die 2 Timer starten gleichzeitig, aber die Interrupts werden (natürlich) nur Nacheinander abgearbeitet. Die Sache mit dem ADC Port verstehe ich nicht. Wo is der Unterschied ob ich eine Taste einlese oder den Spannungsabfall messe?
Gast
#3224480
Sagt dir Spannungsteiler etwas? Klar sagt dir Spannungsteiler etwas... :-) Du müsstest ALLE Tasten an einen Port hängen und den Spannungsteiler auslesen. Je nach Tastendruck wird ein Widerstand kurzgeschlossen und damit die anliegende Spannung am ADC verändert. Pro Taste musst du einen anderen Widerstand nehmen, so dass keine doppelten Zustände existieren.
Ok, aber wo löst das die Problematik von von den 2 Interrups, die nur nacheinander abgearbeitet werden?
Gast
#3224686
Du benötigst nur noch einen Interrupt!?
Julia Scheidinger schrieb: > ich arbeite wieder an meinen Hürdenlaufspiel und möchte nun eine > Erweiterung machen. Gibts da einen einleitenden Thread dazu? Wuerde ja gerne helfen, hab aber keine Vorstellung was da passieren soll.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.