hallo leute es geht um folgendes: ich möchte mit ein paar tasten ein LCD steuern. wenn ich aber die taste drücke trit das ereignis gleich öfter auf. was, wie ich mir denke, daran lieg das der Atmel zu schnell leuft und die taste nicht schnell genug losgelassen wird. wie könnte ich also am besten die taste so ausbremsen damit mir sowas nicht passiert? mfg Max
Salut, wartest Du auf Low-Pegel (ich nehme an, Dein Input ist low-aktiv), oder auf die entsprechende Flanke (also konkret auf den Moment wo der Taster eingedrückt wird)? So oder so wirst Du um eine Entprellung nicht herumkommen. Die meisten mechanischen Taster bergen diese Unsitte, beim Schalten zu prellen (sowas fällt freilich erst auf wenn eine Logik dahintersitzt, die das schnell genug auswertet). Es gibt verschiedene Ansätze, das zu umgehen. Der einfachste: Bei jeder Detektion des Ereignisses eine gewisse Zeit (einige ms, ausprobieren) einfach zu warten (danach sollte das Prellen vorbei sein und der Pegel dauerhaft anliegen). Der sichere: über eine gewisse Zeit samplen (ebenfalls einige ms) und das Ereignis nur anerkennen, wenn der Pegel über die gesamte Dauer den gleichen (aktiven) Pegel hatte. Für Deine Anwendung ist der erste Ansatz der praktischere. Ansonsten... wie Peter schon meint... einfach mal in der Sammlung kucken. Viel Erfolg, Mark
hallo Danke für die schnellen Antworten. Ich dachte zwar eher an etwas anderes als das entprelle, aber das ich einfach warten kann, bis die taste wieder losgelassen wird, um die funktion auszuführen, darauf bin ich nicht gekommen. ;) gemeint hab ich eigentlih, wie ich es kompensiernekann das ein taster zu lange gedrückt wird. Aber so müsste es auch gehen. mfg max
duu solltest beide ansätze einbauen: - warten, dass die taste gedrückt wird - einige (10-100)ms warten, d.h nix tun, bis die taste nicht mehr prellt - deine gewünschte aktion ausführen - warten auf das loslassen der taste das klappt einwandfrei und du kannst die warteschleife deinem taster anpassen
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.