Hi, angeregt durch Peter Daneggers Funktion "Taster: kurz/lang/Wiederholung" habe ich etwas ähnliches geschrieben: kurz/lang/Doppelklick. Ich habe es unter AVRStudio6 auf einem ATMega1284P getestet, es sollte aber ohne Änderung vom Mega8 bis zum 2560 funktionieren. Lediglich die Oszillatorfrequenz #define F_CPU 20000000UL in button.h bzw. der Tastereingang/LEDs muß vielleicht angepasst werden. Wer es ohne AVRStudio testen möchte zieht einfach die folgenden Dateien in sein Projekt: Mega1284P_main.c Mega1284P_main.h button.c button.h Viel Spaß damit.
Die Timer sind nur Speicherzellen die hochgezählt werden, der eigentliche Timer des ATMega ist der 16-bit Timer/Counter1. Ich habe den Code eigentlich nur als "Beifang" für einen erweiterten Resolver geschrieben, deswegen ist auch der ein oder andere Kommentar nicht sofort schlüssig... ;-) Sorry for that.
Tss... da hat sich doch tatsächlich ein Fehler eingeschlichen; gelegentlich (Tastenprellen?) wurde das Bit 'Taster kurz gedrückt' am Ende der Zeitermittlung für 'Taster lang gedrückt' mitgesetzt. Hier die nun fehlerfreie und aufgeräumte Version.
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.