Hallo, mein PROBLEM ist folgendes. Ich initialisiere mein 4X20 LCD im 4 Bit Modus ohne Busy Flag, aber das ist ja bei der Initialisierung ohne Bedeutung (habe ich mal in irgendeinen Datenblatt gelesen).Schalte ich die Versorgungsspannung einige male AUS/EIN kann es vielleicht von 20 mal passieren das er 1-2mal nicht initialisiert und nur zwei schwarze Balken am Display zu erkennen sind. Ob PIC oder AVR ist Egal. Bei beiden Controllern gleicher Effekt. Hat jemand eine ähnliche Erfahrung und Lösung des Problems?
Bestimmt ein Timing-Problem. Vielleicht nach dem Einschalten einfach länger warten.
Hallo Andreas, habe auch schon längere Delays ausprobiert. Hat auch nichts geholfen.
baust du auf nem breadboard? wenn ja, ich hab das gleiche prob, liegt wohl an den nicht so ganz sicheren kontakten auf solch einem board (obwohl ich ein angeblich hochwertiges hab...) gruß martin
Hast Du die Versorgungsspannung auch lange genug abgezogen, um sicher zu sein, daß sich sämtliche Elkos auch entladen haben? Einige LCDs behalten ihre Einstellungen auch bei kleinster Spannung noch. Bei mir langten die Restströme des LPTs um ähnlichen Ärger zu erhalten, d.h. das LCD hatte sich noch nicht vergessen (resetet)! Gruß, Arne.
Kann man dieses LCD mit einem HW-Signal resetten ? Bei einigen geht das ja, so z.B. welches ich jetzt gerade in der Mache habe. Erst hatte ich den rst fest auf einem potenzial gehabt, jetzt steuer aber der avr gezielt vor dem init den rst an, wartet 100ms und macht die init. Das funktioniert sicher. VG Marco
Also mein Display ist ein normales 4*20 Char Display und hat nur Standartanschlüsse--> RS RW E usw. Ein Display mit seperatem Reset hatte ich noch nicht. Das Problem tritt auch auf wenn ich die Platine zum ersten mal an Spannung lege. Da müssten ja auch die Elkos nicht mehr geladen sein.
hallo, du solltest das bussy flag vom display abfragen dann weist du wann es ereit ist befehle zu empfangen ! ds display braucht nach dem einschalten mind. 100ms zum eigenen initalisieren. von eable bis zu enable mind 1000ns, enable muss mind 450ns high sein, enable muss mind. 320ns high sein damit der befehl üernommen wird oder die daten ! dann klappt es auch ohne die zwei balken :-) gruss boris
ich habe die routinen von andreas genommen und einfach an mein quarz angepasst (wartezeiten verdoppelt). daraufhin lief es problemlos!
so kann mann es auch machen um sich das progie für das bussy zu sparen :-) elganter ist es das bussy abzufragen und du hast keine problemme mehr mit dem quarz ! gruss boris
@ boris: mit andreas' routinen sparst du dir ne portleitung für das busyflag - und wer weiß für was das gut sein kann.... ;-)
eine portleitung mehr :-) na mal schaun was man damit anfangen kann, mit der leitung ! :-) ich habe es aber lieber das das display funzt und es sauber hochläuft :-) gruss boris
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.