UIFlow-Tastenabfrage

Aus Attraktor Wiki

Version vom 3. März 2020, 16:58 Uhr von Kapest (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

UIFlow-Tastenabfrage (M5-UIF)

Die M5Stack-Cores besitzen 2-3 eingebaute Tasten. Die Auswertung von Tastenbetätigungen kann auf zwei unterschiedliche Arten erfolgen. Zum Einen durch deine direkte Abfrage der Tasten, zum Anderen per Interrupt. Beide Methoden werden von der UIFlow-IDE unterstützt.

Die Funktionen zugehörigen Funktionen findet man unter Events (Ereignisse):



Diese 4 Funktionen behandelt die Tastenbetätigungen:  Diese 2 Blöcke ermöglichen die direkte Tastenabfrage. Das bedeutet, dass die Tasten nur dann aktiv sind wenn das Programm sie gerade abfragt. In der übrigen Zeit haben sie keine Funktion: 

Dieser Block gibt WAHR zurück solange die ausgewählte Taste gedrückt (pressed) oder nicht gedrückt (released) ist. Er kann zusammen mit einer Abfrage (z.B. if) verwendet werden.

Der nächste Block liefert WAHR wenn sich am Zustand der Taste etwas verändert hat. D.h. wenn die Taste gedrückt wird, so wird bei nachfolgenden Abfrage WAHR zurückgegeben, bei der darauf folgenden aber FALSCH.  Die folgenden Möglichkeiten stehen zur Auswahl Was pressed : Nur wenn neuer Tastendruck erfolgt ist. Was released : wenn die Taste gerade losgelassen wurde. LongPress : wenn die Taste > 1s festgehalten wurde gibt es einmal diese Rückmeldung beim loslassen der Taste. WasdoublePress : wenn die Taste sehr schnell hintereinander zwei mal gedrückt wurde gibt es einmal diese Rückmeldung beim loslassen der Taste.


Die beiden nächsten Blöcke implementieren eine interruptgesteuerte Tastenabfrage. Das bedeutet, dass der Tastendruck zu jedem Zeitpunkt aktiv ausgewertet wird. Das laufende Hauptprogramm wird unterbrochen, der Programmteil innerhalb dieses Blocks wird ausgeführt und dann wird das Hauptprogramm fortgesetzt:

 Die Bedeutung der Optionen entspricht denen im vorherigen Absatz.


Das Programm im folgenden Block wird ausgeführt, wenn beide ausgewählte Tasten gemeinsam gedrückt werden: 


Programmbeispiel: