Hallo Leute,
hat jemand das genannte LCD-Modul von Pollin an der RP6Control richtig zum Laufen gebracht?
Zunächst einmal bin ich mir nicht ganz sicher wegen der Verkabelung. Ich habe an mehreren Stellen gelesen, dass die Belegung der Pins 1 + 2 bei Pollin vertauscht sei. Trotzdem habe ich das Flachbandkabel genauso angelötet, wie es bei meinem alten 16x2-LCD von Conrad war. - Und ich erhalte auch einen Output!
In der RP6ControlLib habe ich folgende Änderungen gemacht:
- die Variable lcd_tmp_buffer von 17 auf 21 Byte vergrößert
- in der Funktion setCursorPosLCD() folgende Unterscheidungen statt
Code:
if (line==1) pos += 0x40;
eingefügt:
Code:
switch (line) {
case 1: pos += 0x40; break;
case 2: pos += 0x14; break;
case 3: pos += 0x54; break;
}
- in der Funktion writeIntegerLengthLCD() habe ich die temporäre Variable buffer entfernt und stattdessen die globale Variable lcd_tmp_buffer verwendet.
Wenn ich ganz "normal" einen Output mache, z.B. mit writeStringLCD() funktioniert auch alles. Wenn der Text lang genug ist, werden nacheinander die Zeilen 1, 3, 2, 4 beschrieben - so weit, so gut!
Wenn ich aber versuche, eine Cursor-Positionierung zu erzwingen, funktioniert es zwar für Zeile 2, alle anderen Zeilenangaben werden aber nach Zeile 1 "umgeleitet". Und das finde ich gar nicht gut!
Vielleicht muß ich noch etwas in der Initialisierung bei initLCD() ändern, weil da habe ich gar nichts gemacht.
Ich hoffe auf eure Unterstützung.
Bis dann
Helmut
Lesezeichen