www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Zeit von einem Tastendruck Messen


Autor: roman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich versuche nun schon seit 2 Tagen die dauer eines Tastendrucks zu
messen um mit einem Taster verschiedene Funktionen ausführen zu können.
Ich benutze einen ATMega8 und Bascom.

Meine Denkansatz bis jetzt:

1. Taster wird gedrückt (Flanke fällt), entprellt und ein Timer wird
gestartet

2. Taster wird losgelassen (Flanke steigt), entprellt, der Timer wird
gestoppt, der Wert gesichert und der Timer wieder auf 0 gesetzt.

3. Wenn der Wert über 1Sekunde beträgt, wird das bit für "Kurz"
gesetzt. Wenn der Wert unter 1 Sekunde beträgt wird das bit für
"Lang" gesetzt.

Ich bin die ganze Zeit am Probieren, aber bekomms einfach nicht hin.
Wäre jemand so nett mir ein bisschen zu helfen?

Danke schonmal.

Autor: Montero (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1 Sekunde ist für mich schon eher lang, und Zeiten unter 1 Sekunde eher
kurz. Aber du kannst das definieren wie du willst :o) Wie wärs mit dem
ansatz den du schon hast, in Worten stimmts ja schon mal.

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man könnte auch das Entprellen, das gedrückt erkennen und das lange
gedrückt erkennen im Timerinterrupt zusammen fassen.

Und damit es sich auch lohnt, das Ganze für bis zu 8 Tasten
gleichzeitig. Wobei das lange gedrückt erkennen nur für eine Taste
gleichzeitig ausreichen sollte.

Das Beispiel ist allerdings nur in C geschrieben:

http://www.mikrocontroller.net/attachment.php/2524...


Peter

Autor: roman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Montero
Ja in Worten stimmts ja auch soweit (Bis auf die Verwechslung mit Lang
und Kurz), aber ich komme einfach bein Programmieren nicht weiter...

@Peter, dass hilft mir leider gar nicht weiter, da ich null Ahung von C
habe. Würd mich freuen wenn ich Basic ein bisschen besser können würde.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.