Hi, Ich hab in Bascom eine Tastenentprellung ueber den Timer1 realisiert (Tim0 und Tim2 meines ATmega 8 werden schon benutzt). Es funktioniert auch soweit. Den Debounce Befehl konnte ich nicht nutzen da ich auch erkennen wollte wie lange die Taste gedrueckt wird um verschiedene Funktionen aufzurufen. Nun haenge ich fest wie ich erkennen soll ob die Taste >3 Sek gedrueckt wurde .... Kann mir jemand vielleicht eine Hilfestellung geben? Hier ein Auszug zur Entprellung der Taste: Main: Do If Keypressshort_flag = 1 Then If Pinc.5 = 0 Then Toggle Portd.3 End If end if Keypressshort_flag = 0 loop End ' ******************************************************************** ' * Timer 1 ISR Tim1_isr: Keypressshort_flag = 0 Incr Nticks If Nticks = 500 Then Nticks = 0 End If Temp = Nticks Mod 5 If Temp = 0 Then Keypressshort_flag = 1 End If Return ' ******************************************************************** Mfg Dirk
ich kann zwar kein basic aber wenn du einen timer mit einer definierten taktung hast kannst du einfach einen zähler einbauen der ab erkennen einer gedrückten taste bei jedem aufruf des timers hochzählt. wenn die taste losgelassen wird brauchst du nur noch aus der timerfrequenz und dem counterwert die sekunden ausrechnen
Hi, also sollte ich es anders herum machen . Im moment hab ich in der Timer ISR ein Flag gesetzt wann die Taste abgefragt werden soll in der Hauptschleife ... Jetzt soll ich die Inputpins in der Timer ISR abfragen und bei druecken eine Variable erhoehen ..... oder wie soll ich das verstehen ? Mfg Dirk
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.