Gast
#3474382
Hallo zusammen, ich sitze aktuell an einem kleinen Projekt mit einem Atmel Mega16 wo ich einfach keine Struktur in den Code reinbringe. Der kleine Käfer soll folgendes machen: -> Ansteuerung eines LCD's (HD44780, LIB hier aus dem Forum). -> Taster abfragen (alle 10mS mit Timer, LIB hier aus dem Forum). -> hin und wieder eine AD Wandlung durchführen und I2C Werte einlesen (völlig zeitunkritisch). -> hin und wieder Werte über I2C übertragen die zuvor über Tasten und LCD eingestellt wurden. -> möglichst wenig Stromverbrauch da Batteriebetrieb. Gleich mal vorweg, ich hab das schon fertig geschrieben. Leider halt schlecht dokumentiert und immer wieder etwas geändert -> ein ziemliches durcheinander aber es läuft. Ich würde es jetzt gerne nochmals neu machen und dieses mal mit Struktur. Wie geht man an sowas am besten heran? Ich denke der einzig fixe Punkt in dieser Sache ist der 10mS Timer für die Tastenentprellung. Dann könnte man doch einen PowerDown Mode wählen wo dieser Timer an bleibt, oder? Wie realisiert man dann dass die restlichen Dinge sauber ablaufen und z.b. nicht den Timer blockieren? (das hatte ich nämlich auch schon, wollte die AD Wandlung mit in den Timer packen dann reagierten die Tasten nicht mehr sauber). Desweiteren interessiert mich ob z.b. die LCD Routinen mit in die main.c müssen oder ob man die auch auslagern kann? Leider macht das den Code etwas unübersichtlich aber alle Versuche bisher scheiterten weil mein Compiler die Funktionen dann nicht mehr findet. Wäre um ein paar Denkanstöße sehr dankbar.