Hallo! Was ich benutze: Atmega32 LCD 4x16 basierend auf HD44780 Ich will mit dem Atmega das LCD ansteuern, nach vielen Versuchen und Beispielen im Netz habe ich es auch geschafft das LCD zu initialisieren (Display wird gelöscht, Cursor ist sichtbar und blinkt). Doch war die Freude nur von kurzer Dauer da ich es nicht hinbekomme ein Zeichen darzustellen. Das Display macht einfach nichts mehr nachdem es initialisiert wurde. Desweiteren ist mir meine Methode zum Abfragen des BusyFlag nicht ganz geheuer, wenn ich die beiden rauskommentierten Zeilen aus dem Programm lasse funktioniert die Initialisierung, nehme ich sie ins Programm rein geht nichts mehr. Ich weiss nicht mehr weiter, da es auch mein erstes Assembler-Prog ist habe ich kein Plan worin der Fehler bestehen könnte. Es wäre nett wenn mir jemand helfen könnte und mein Programm mal durchsieht.
Selbst wenn alle Unterprogramme korrekt funktionieren würden (habe ich nicht weiter geprüft), bleibt Dein Programm nach einmaligem Durchlaufen von Main in Ende in einer nixtu-Endlosschleife hängen. Es tut also absolut nix. ...
Hallo, eiegntlich kann Dein Busy-Check garnichts sinnvolles machen, die Daten werden vom Display angelegt, wenn E von L auf H geht und bleiben gültig, bis E wieder auf L geht. "Bleiben gültig" heißt sie dürfen sich nicht ändern, damit sie vom µC in Ruhe übernommen werden können. Eine Änderung von Busy wird also auch erst im nächsten E-Zyklus sichtbar. Du taktest E aber dort garnicht. Solange E auf L ist, sind die Displaydatenleitungen im tristate, wenn am AVR keine PullUps aktiv sind, liest Du also nur den momentanen Zustand einer offenen Leitung ein. Gruß aus Berlin Michael
@Hannes: Die Unterprogramme funktionieren, bevor das Prog in die Schleife geht initialisiert es das Display. Genauso war es gedacht, initialiseren, versuchen was auszugeben und nachgucken ob es funkioniert hat. @Michael: Thx für den Hinweis, habe die Methode nochmal überarbeitet und jetzt funktioniert's.
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.