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.
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.
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/252480/C_TAST.C Peter
@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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.