PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] LCD-Modul TC2004A an RP6Control M32



hfrieder
13.06.2013, 21:28
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
if (line==1) pos += 0x40; eingefügt:


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

hfrieder
15.06.2013, 21:29
Tja, wie so häufig sitzt der Fehler vor der Tastatur - ich habe im einen Sourcefile editiert und das ursprüngliche ständig eingebunden.

Aber in der initLCD()-Routine habe ich das vorletzte Kommando (0b00000010) durch 0b00000110 ersetzt. Und ich frage mich immer noch wegen der delays, wieviel Zeit die Ausführung von 5500 NOPs bei 16 MHz benötigt - den Assemblercode wollte ich mir nicht reinziehen.

Ich sag' also: Thema erledigt!

Gruß Helmut