16x2 Display, erstes zeichen fehlt

OP #2245914
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
#2246328
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
Gast #2246478
> 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.
Gast #2246503
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"
Gast #2246516
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
OP #2246536
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 :-)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 15 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.