BASCOM: Taste lang oder kurz gedrückt?

Gast #1325060
Lesenswert?
• ▲
▼
Hallo!

Ich möchte gerne mit BASCOM feststellen, ob eine Taste kurz oder lang 
gedrückt ist. Wenn die Taste weniger als 2 Sekunden gedrückt wurde, dann 
soll eine bestimmte Routine ausgeführt werden.

Ist die Taste länger als 2 Sekunden gedrückt soll eine andere Routine 
abgearbeitet werden. Allerdings sollte dieses Sub schon bei 2 Sekunden 
Tastendrucklänge laufen und nicht erst, wenn die Taste wieder 
losgelassen wird.

Wie kann ich das am einfachsten realisieren? Beispiele wären sehr gut.

Danke schonmal an alle,
Max
Gast #1325075
Lesenswert?
• ▲
▼
Nen Timer laufen lassen, der in ner Variable mitzählt, wenn die Taste 
gedrückt ist. Wird die Taste losgelassen und der Timer ist bei nem Wert 
< 2 Sekunden: Programmteil 1.
Erreicht die Variable nen Wert >=2: Programmteil 2.
(evtl hier noch Interrupt abschalten, weil nicht mehr nötig; nach Ende 
von Programmteil 2 wieder einschalten)
Gast #1325116
Lesenswert?
• ▲
▼
Danke für die schnellen Antworten.

Habe es jetzt mal so probiert:

1
If taste = 0 Then
2
  Waitms 25
3
  While taste = 0
4
    timer_taste_alt = timer_taste
5
    If timer_taste_alt > 2 Then
6
      Print "Taste lang gedrueckt"
7
    End If
8
  Wend
9
  If timer_taste_alt < 2 Then
10
    Print "Taste kurz gedrueckt"
11
  End If
12
  Bitwait taste , Set
13
End If


Funktioniert soweit auch, jedoch will ich das der Printbefehl nur einmal 
gesendet wird, wenn die Taste lang gedrückt ist. In diesem Beispiel wird 
der Befehl aber solange gesendet, bis ich die Taste wieder loslasse.

Kann mir da jemand helfen?

Danke,
Max

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.