STM32F4 Timer

OP (Firma: keine) #3224355
Lesenswert?

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 #3224433
Lesenswert?

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
OP (Firma: keine) #3224451
Lesenswert?

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
Lesenswert?

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.

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