UIFlow-Tastenabfrage

Aus Attraktor Wiki

Wechseln zu: Navigation, Suche

UIFlow-Tastenabfrage

Bilderprefix: M5-UIF-Tasten-...

von Peter (peter@attraktor.org)

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):

M5-UIF-Tasten-001.png

Diese 4 Funktionen behandelt die Tastenbetätigungen:

M5-UIF-Tasten-002.png

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:

M5-UIF-Tasten-003.png

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.

M5-UIF-Tasten-004.png



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:

M5-UIF-Tasten-005.png

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:

M5-UIF-Tasten-006.png

Programmbeispiel:

M5-UIF-Tasten-007.png

Diese Seite wurde zuletzt am 14. März 2020 um 17:13 Uhr geändert. Diese Seite wurde bisher 189 mal abgerufen.