Hallo, für eine Stirnlampe mit nur einem Taster wollte ich die möglichen Bedienschritte erweitern. Ein einfacher Tastendruck schaltet die Lampe aus, ein Doppelklick schaltet zwischen roten und weißen LEDS um, und wenn man die Taste gedrückt hält werden die Helligkeitsstufen durchgeschaltet. Da ich keine Routine für die Doppelklick-Erkennung gefunden habe, habe ich Peter Danneggers Entprellroutine, die hier ja immer empfohlen wird, etwas aufgebohrt. Im Prinzip handelt es sich um einen endlichen Automaten mit fünf Zuständen, die Flanken- und Timeoutgesteuert durchgegangen werden: http://home.in.tum.de/~bichlesi/doublepress.png Der Anhang beinhaltet nur den Teil, der für die Tastenbehandlung verantwortlich ist. Der restliche Taschenlampencode ist noch nicht fertig. Dies ist mein erstes Projekt mit AVR-Assembler. Für Hinweise, was ich besser machen könnte wäre ich also dankbar. Gruss Simon
Gast
#371629
Es fällt sehr schwer, bei Deinem Program durchzusteigen. Mit Einrückungen sind auch Assemblerprogramme viel besser lesbar. Üblich ist Labels an den Anfang, Befehle nach einem Tab, die Argumentenliste nach dem nächsten Tab. Hier ist so etwas in C: http://www.mikrocontroller.net/forum/read-4-310276.html#new Peter
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.