Hallo zusammen. Ich habe folgendes Prob mit LCDs (sowohl am Par-Port des PC, als auch am Mikrocontroller): Zunächst Info zu den LCDs: 16x2, KS00700 (also HD44780 kompatibel) Ein Weile läuft alles wie gewünscht doch nach einiger Zeit (dieser Zeitraum lässt sich nicht näher bestimmen, sporadisch) wird nur noch Schrott bzw. gar nichts mehr auf den LCDs angezeigt. Sieht dann so aus, als hätte die Initialisierung nicht funktioniert. Codeprobleme können ausgeschlossen werden. Es wird geschirmtes Kabel (l< 1m) und der obligatorische 100nF zwischen +5V und GND benutzt. Hat Jemand 'ne Idee ? Zum Testen bin ich mit der Ausgabe vom Atmel über RS232 zufrieden aber in der Applikation würd ich schon gern' ein LCD benutzen ;-) Danke und freundliche Grüße, Alex
Passiert das direkt nach dem Einschalten oder mittendrin? Direkt nach dem Einschalten: Wie vermutet, die Initialisierung klappt nicht. Evtl. Timing-Probleme. Mittendrin: Timing-Probleme. Es könnte aber auch am 1m Kabel liegen, auch mit Schirmung kanns zum Übersprechen kommen. Am besten mit dem Oszilloskop mal überprüfen, was am Display nach 1m so ankommt.
Also: Das Display am PC betreibe ich an einem FLI4L-Router (www.fli4l.de). Hier benutze ich das 1m-Kabel. An der der SW habe ich nichts verändert. (Wozu auch ? Es läuft ja bei anderen Leuten einwandfrei). Dieses Diplay lief die ersten 3 Wochen stabil. Danach kam keine Anzeige mehr -> Display vom Rechner getrennt und nen 100nF angelötet -> Da lief es erstmal wieder. Leider diesmal nur 2 Wochen. mitdemkopfschüttel Das andere Diplay benutze ich f meine Controllerbasteleien und betreibe es im 4-Bit-Mode. Die Verbindungen bestehen hier nur aus Drähten, welche aber so kurz wie möglich gehalten werden. Das Problem tritt hier mittendrin auf. Irgendwann (nach 1h z.B.) fängt das Display an wirre Zeichen darzustellen. Dann hilft auch aus-und einschalten oft nichts mehr. Dass das Display am Controller sich dann wieder fängt sieht nach reiner Glücksache aus. Mit dem Oszi hab ich nachgemessen. Sämtliche Spannungen und Zeiten liegen innherhalb der Spezifikation (lt. Datenblatt). Zur Software: Hier habe ich mehrere Ansätze ausprobiert: 1. Routinen aus dem Netz übernommen. 2. Eigene C-Routinen. 3. Eigene ASM-Routinen. Das Phänomen blieb jedoch, egal welche Routinen zur Ansteuerung ich verwende. Da das Verhalten sich nicht abstellen liess bin ich auf die Ausgabe über den UART umgestiegen. Irgendwann ist ein Limit erreicht (zeitlicher Aufwand). Aber ohne LCD ist eine vernünftige Kommunikation mit dem Benutzer nicht möglich ! Bitte schreibt mir sämtliche Anregungen. Bin bereit (fast :-) alles zu probieren. verzweifel Danke, Alex
Könnte es sein, daß Du im 4-Bit-Modus arbeitest ? Ich hab den noch nie probiert, aber was mir daran unangenehm aufstößt, ist, daß es scheinbar keinen Synchronisationsmechanismus gibt. Es müssen ja immer 2 * 4-Bit übertragen werden. Aber was passiert, wenn mal ein (Stör-)Impuls auf der E-Leitung ein Halbbyte zuviel simuliert ? Bleibt dann das Display ewig außer Tritt oder wie ? Um solche Probleme erst gar nicht entstehen zu lassen, nehme ich den 8-Bit-Modus über meine 3-Draht Methode (siehe Codesammlung), brauche aber dafür noch einen billigen 74HC164. Peter
Deine 3-Draht-Methode is mir natürlich geläufig. (Lese hier öfter ;-) Könnte ne Lösung sein das Display vom MC aus im 8-Bit-Mode zu betreiben. Deine Begründung erscheint mir plausibel. Ich probiers mal aus und poste den Erfolg/Misserfolg. Muss mir allerdings vorher noch nen 74HC164 besorgen. Nur: Wieso gehts bei anderen Leuten tadellos im 4-Bit-Mode ? Hat noch Jemand ne Idee wg dem Display am PC ? Danke und Grüße, Alex
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.