Hallo mal wieder :-) Der erste Versuch, einen Text auf einem Display auszugeben, klappte nur zu 95% :-( Hier schonmal der Quellcode von Bascom: >>>>>>> Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , _ Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2 Config Lcd = 16 * 2 Cls Locate 1 , 1 Lcd "Zeile 1" Locate 2 , 1 Lcd "Zeile 2!" End >>>>>>>> Problem ist folgendes: In der ersten Zeile wird der erste Buchstabe einfach "verschluckt". Statt "Zeile 1" steht dort "eile 1". Setze ich in den Quellcode vor dem Wort ein Leerzeichen, etwa: Locate 1 , 1 Lcd " Zeile 1" dann klappt es und er zeigt "Zeile 1". Das heisst, das irgendwo das erste Zeichen im Nirvana verschwindet, oder? Bei Zeile 2 klappt alles wie es sein sollte, da taucht das Problem nicht auf. Wer kann mir was raten? Grüße, Uwe
Uwe Heydemann schrieb: > Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , _ > Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2 > Config Lcd = 16 * 2 Hallo Uwe, eigentlich sieht das alles korrekt aus sofern es sich tatsächlich um ein hd44780 kompatibles LCD handelt. Genau so verwende ich die Configs auch immer ohne Probleme. Das einzige , was mir auffällt ist der Unterstrich hinter "Db6 = Portd.6 , _" Der gehört da nicht hin. Du kannst ja zusätlich nochmal versuchen den Befehl "INITLCD" einzusetzen. (Ich hab den noch nie benötigt). ggf. ist vielleicht auch das LCD nicht Okay. Steck mal ein anderes dran. Gruss Klaus
Vielleicht stimmt das "Timing" nicht. Ist $crystal korrekt? Probier mal "Waitms 100" nach dem "Cls" (oder davor).
> Das einzige , was mir auffällt ist der Unterstrich hinter > "Db6 = Portd.6 , _" Der gehört da nicht hin. Der Unterstrich kennzeichnet die Fortsetzung auf der nächsten Zeile.
Vermute das Problem liegt an der LCD Kompatibilität HD44780.
Ich benutze die LCD Ansteuerung wie Uwe.Schon 15 mal benutzt ohne
Probleme
(LCD aus der Bucht, Blau/weiss )
Config Lcdpin = Pin , Db7 = Portb.0 , Db6 = Portd.7 , Db5 = Portd.6 , _
Db4 = Portd.5 , E = Portc.4 , Rs = Portc.5
Config Lcd = 16 * 2
Cls
Cursor Off
Locate 1 , 1
Lcd "Zeile 1"
Locate 2 , 1
Lcd "Zeile 2"
Initialisierung ist i.O., nur kommt das erste Zeichen zu schnell, also NACH dem letzten INI-Befehl 2ms warten (siehe Post von Karl) 100ms braucht das Display bzw. der 44780 an dieser Stelle nicht. Gruß Gerd
Gerd schrieb: > Initialisierung ist i.O., nur kommt das erste Zeichen zu schnell, also > NACH dem letzten INI-Befehl 2ms warten (siehe Post von Karl) > 100ms braucht das Display bzw. der 44780 an dieser Stelle nicht. > > Gruß Gerd >>> Das war der Fehler :-) Wenn ich nach CLS noch Cursor off oder waitms 2 setze, dann klappert es so wie es sein soll :-) Danke Jungs, ihr seit wie immer meine Rettung :-)
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.