Hallo Zusammen Ich habe ein Problem mit der Initialisierung meines LCD. Ich habe alles so angeschlossen, wie es im Source steht. Mega 0 an LCD 11 1 12 2 13 3 14 4 4 5 5 6 6 Ich habe auch schon die BusyFlag abfrage durch eine Zeit ersetzt, ohne Erfolg. Statt PortD habe ich auch schon PortA versucht. Vielleicht habe ich was im Makefile falsch? Das Display lief schon einmal an einem Mega8 (allerdings mit AVRPascal) Abblokkondensatoren habe ich und der Reset des AVR ist mit einem RC-Glied beschaltet. (Ich kann ihn ohne Probleme programmieren und ein Blink - Testprogramm läuft auch soweit) Kann mir jemand einen Hinweis geben? Im Datenblatt des LCD steht etwas davon, dass vor der Initialisierung kein Busyflag ausgegeben werden kann, aber dann hätte doch das Ersetzen durch eine Zeit helfen müssen, oder? Ich weiß jedenfalls im Moment nicht weiter. Gruß, Moritz Becker PS Ich hoffe, dass ich keine Angaben vergessen habe.
Hier noch das Datenblatt des LCD. Ich sehe gerade, dass ich vergessen habe zu schreiben, dass es sich um das 4x16 LCD handelt.
Nun ja ich hab mal den Code Angeschaut aber kenn mich bei AVR nicht so aus also ich Tipp mal, dass das Timining nicht stimmt scheint mir etwas zulange. Bei der Sache Enable hab ich bei mir festgestellt, das man nach der High --> Low etwas Pause machen sollte damit der LCD-Controller die Daten weiterleiten kann und wieder Aufnahme fähig ist. Also ungefähr so EN = HIGH, DATEN zum BUS, EN = LOW, Wait= ca. 1 msec einfach ausprobieren. Gruß Klaus
Ich dachte man legt Daten an den Bus und "toggelt" den Enable Pin. Also Daten anlegen, EN = High, EN = Low Wird zumindest in den Routinen so gemacht die ich sonst so benutze. (Der Code ist nicht von mir und scheint auch "überall" so zu funktionieren)
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.