Hi, ich steuere mit GCC ein 4x20 LCD an. ich will nun eine funktion schreiben die wenn ich am letzten buchstaben von zeile 4 angekommen bin das display ein zeile nach oben scrollt. als idee hatte ich was recht umständlich ist -> buchstaben Pos 0 Zeile 2 lesen zu pos 0 zeile 1 schreiben. so wird nun mit allen 20 buchstaben der Zeile verfahren und dann wird Zeile 3 zu zeile 2 kopiert und dann zeile4 zu 3. das alles is zwar nich so viel vom programmieraufwand, nur 2-3 verschachtelte for schleifen aber die zeit die das ganze in anspruch nimmt is schon beträchtlich. gibt es nicht eine display interne funktion mit der man disen algorithmus besser schreiben könnte? ich brauche nur eine idee ich will ja gar keinen quellcode haben g Danke schon mal Sebastian
Hab zwar nur 2 halbherzige Ideen, aber vielleicht hilfts: 1. Es gibt ja den Shiftbefehl, der die Zeichen einfach weiterschiebt. Da du aber ja leider ein 4zeiliges LCD einsetzt, bringt dir das nicht allzu viel!? 2. Halte doch den Displayinhalt im Speicher des AVRs vorrätig. Jede Zeile wird logisch einzeln verwaltet. Sollen die Zeilen hochgeschoben werden, dann schreibst du die vorbereiteten Zeilen verschoben wieder ins LCD rein. Zeile2 wird jetzt in Zeile1 ausgegeben usw. Vielleicht hilft dir auch (wenn du zu wenig Speicher für (2) zur Verfügung hast) eine Mischung aus beiden Ideen. Zum einen Zeile 2+4 noch oben "shiften", und dann einfach die neuen Zeilen 2+4 reinkopieren. Schmittchen.
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.