LCD-Display - Zeilendreher

Guten Abend zusammen,

ich weiß, langsam werd ich lästig, aber das ist jetzt der letzte Thread für heut Nacht, versprochen :wink:

Code ist folgender:

cursor_position_s = 0;
lcd.setCursor(0,0);
lcd.print("- Konfigurationen   ");
lcd.print("- Scheibennummern   ");
lcd.print("- Turnierbetrieb    ");
lcd.print("  Archery Results   ");
//lcd.setCursor(0,3);
//lcd.print(in_menue);
//lcd.print(", ");
//lcd.print(key);
lcd.setCursor(cursor_position_s,cursor_position_z);
lcd.blink();
display_new = 0;

Doch die Anzeige ist anders:

- Konfigurationen
- Turnierbetrieb
- Scheibennummern
  Archery Results

Sprich, Zeile 2 und 3 sind vertauscht.
Wenn ich für jeden lcd.print(); ein lcd.setCursor(0,*); setzt, dann wird die Reihenfolge richtig dargestellt.
Es ist ein 20x4 LCD-Display, welches mit einem I2C angesteuert wird.
Kann mir jemand sagen, woher der Zeilendreher kommt?

Vielen Dank schon mal

LG

Fipsi

Das ist normal. So sind die Displays aus irgendeinem Grund intern verdrahtet.

Mir fiel das da jetzt nur auf, weil ich in einem anderen Menü rausgekommen bin, als ich eigentlich wollte.. also muss ich dann für jede Zeile immer den Cursor setzten? Oh man..
Danke dir.

LG

Fipsi

Mach dir halt eine kleine Hilfs-Funktion:

void printLine(int line, const char* str)
{
   lcd.setCursor(0, line);
   lcd.print(str);
}

Das haben diese Displays alle-auch die DOG-M`s.
Es hängt irgendwie damit zusammen, das der Controller max. 3 Zeilen ansprechen kann und bei den vierzeiligen wohl zweie drin sind deshalb, irgendwie so wurd mir das mal erklärt.

Rabenauge:
Das haben diese Displays alle-auch die DOG-M`s.
Es hängt irgendwie damit zusammen, das der Controller max. 3 Zeilen ansprechen kann und bei den vierzeiligen wohl zweie drin sind deshalb, irgendwie so wurd mir das mal erklärt.

Tatsächlich sind diese HD44780 Controller wohl mal für Displays mit maximal 2 Zeilen a 40 Zeichen entwickelt worden.

Das interne Memory-Mapping bei verschiedenen Display-Layouts ist hier erklärt:
http://web.alfredstate.edu/weimandn/lcd/lcd_addressing/lcd_addressing_index.html

Super, vielen Dank euch für diese Antworten :slight_smile:
Habs schon einfach umgeschrieben.. muss ja zum Glück nicht sooo viel ändern und hab alles in einem Eck^^.

LG

Fipsi