Hab hiern 160x104 LCD dem ich per I2C Befehle von nem ATMega schicke. Nebenbei frage ich noch einen Resolver sowie dessen Drucktaster im Interrupt zur Eingabe ab (kurz/lang gedrückt -> Menüführung) und setze entsprechend unübersichtlich die jeweiligen Bits zur weiteren Abfrage in der Hauptschleife. Hin und wieder verschluckt die Schleife die Bits und mit der Menüführung ist's Essig. Ich habe schon überlegt Teile des Ablaufs in die ISR zu legen - diese wird dann aber schnell recht groß und vermutl. ziemlich ruckelig. Wie macht man das am Besten? Ist die Vorgehensweise grundsätzlich ok?
Joachim ... schrieb: > Nebenbei frage ich noch einen Resolver sowie dessen Drucktaster im > Interrupt zur Eingabe ab (kurz/lang gedrückt -> Menüführung) und setze > entsprechend unübersichtlich die jeweiligen Bits Dann mache es übersichtlich. Ein Timerinterrupt fragt die Tasten ab, entprellt sie und setzt Bits für das (kurz/lang) Drück-Ereignis. Ebenso fragt er den Encoder ab, entprellt und zählt die Pulse seit der letzten Abfrage. Die Menüführung im Main liest, sobald sie Zeit hat, die Drückbits und Zählwerte aus und setzt sie zurück. Für den Encoder sollten 1ms reichen und für die Tasten sind 10ms optimal. Also ein 1ms Interrupt mit ner Zählvariable bis 10. Peter
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.