zeilenwechsel bei 2*16 lcd geht nicht

Gast #100661
hm also die anderen probleme die ich gestern und heute hier gepostet
hab
scheinen im mom wengistens gelöst zu sein ...

leider gibts gleich das nächste.

die ausgabe auf meinem 2*16 lcd funktioniert wunderbar.
nur leider spinnt es völlig wenn ich die zeile wechsle.
wenn ich aus zeile eins in zeile 2 springe, gibt er,
wenn ich einen string ausgebe, diesen irgendwo
in der mitte beginnend aus. also aus "Hallo Welt" kann z.B. "
Welt"
werden. wenn ich über die erste zeile einfach hinaus
schreibe, also ohne manuellen zeilenwechsel,
verschluckt er einfach alle zeichen > 16.

(das display hängt an PORTA. wobei PORTA0-PORTA3 am 4bit-bus hängen
 und PORTA4 an RS & PORTA5 an E);
mein befehl zum zeilenwechsel:

lcd_send_cmd(0xa0);
0x80 für den dd-befehl
und 0x40 um das erste zeichen in zeile 2 zu adresieren
= 0xa0

wobei lcd die ausgabe der 2 nibbles erledigt.

gruß & thx im vorraus markus
Gast
Schau mal in das Datenblatt deines LCDs. Dort findest du die
RAM-Adressen für dein LCD (ist eine Tabelle). Ich gehe mal davon aus,
dass deine Zeilenanfangsadressen im Code nicht mit denen im Datenblatt
übereinstimmen.

Gruss, Alex
Gast
0x80 + 0x40 gibt immer noch 0xc0 und nicht 0xa0 !
Die Adresse 0xa0 ist im nicht sichtbaren Bereich der ersten Zeile.
Nach 40 Zeichen also nach 0xa7 kommt der Zeilenumbruch. Daher sieht man
die erten 8 Zeichen von "Hallo Welt" nicht.
Einach weiterschreiben geht nicht, weil das Display intern das Format 2
x 40 Zeichen benutzt. Von beiden Zeilen sind jedoch nur die ersten 16 zu
sehen.
Man könnte auch einfach 24 Leerzeichen dazwischenschieben...
Gast
oh man bin ich blöd....
:) ich hatte schon ins DB geguckt und
die richtige adresse rausgesucht,,,,nur wenn man zu
doof zum addieren ist hilft das nix...

thx auf jeden fall :)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 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.