Forum: Mikrocontroller und Digitale Elektronik HD44780 LCD und fleury lib tut nicht


von Ralf (Gast)


Lesenswert?

Hallo,
ich habe ein HD44780 kompatibles 4x16 Display (Powertrip PC1604ARS) mit 
der lib von p. fleury in betrieb genommen. Soweit klappt es auch, 
allerdings sind Zeile 3 und 4 um 4 Zeichen versetzt. ich habe die lcd.h 
anepasst:

#define LCD_LINES           4
#define LCD_DISP_LENGTH    16
#define LCD_LINE_LENGTH  0x40
#define LCD_START_LINE1  0x00
#define LCD_START_LINE2  0x40
#define LCD_START_LINE3  0x10
#define LCD_START_LINE4  0x50
#define LCD_WRAP_LINES      0

Jetzt zeigt das Display aber in einer willkürlichen Reihenfolge die 
Zeilen an...jedesmal anders. Hat jemand einen Rat wie ich es richtig 
konfigurieren muss?

Gruss Ralf

von Spiromir L. (spiro)


Lesenswert?

Hi Ralf, so wie es sich anhört, hast du (meiner meinung nach) ein timing 
problem. Bei mir leuft das ding garnicht, und jetzt bin ich fast davon 
überzeugt dass ich das selbe problem habe, nur in grösere ausmassen...

von Pete11 (Gast)


Lesenswert?

Hat das Display vielleicht 2 Controller ?

Gibt es ein Datasheet ?

von Seb H. (seppl)


Lesenswert?

Hehe, bei mir schmirgelt der Mega8 einfach ab mit der Fleury, jetzt 
werde ich mir am WE wohl mal ne Lib selbst coden - vorerst aber nur für 
mein Displaymodell.
Falls einer von euch doch noch eine Lösung hat immer her damit, 
probieren würde ichs wohl nochmal.

von Pete11 (Gast)


Lesenswert?

Was passiert bei folgender Einstellung:

#define LCD_START_LINE3  0x00
#define LCD_START_LINE4  0x40

von Seb H. (seppl)


Lesenswert?

Also nur mal zur Info.... mein Mega8 ist nicht wirklich abgeschmürgelt. 
Ich konnte das Problem jetzt lokalisieren.
Die gesamten Pins des LCD sind beim Anschluss an den Mega8 auf meinem 
Breadboard "um einen verrutscht". Also kam das R/W-Signal, das die 
Fleury-Lib ja abfragt auf einem völlig falschen Pin zurück, mit dem 
Nebeneffekt, das die LCD-Funktion nendlich gewartet hat.

Also mein funktioniert jetzt... schon ganz schön peinlich - erzählen das 
der µc abstürzt weil man nicht richtig steckt, naja wir sind halt alle 
nur evolutionäre Affen :D

von Ralf (Gast)


Lesenswert?

Hallo,

danke für Eure Antworten!

#define LCD_START_LINE3  0x00
#define LCD_START_LINE4  0x40

habe ich ich ausprobiert...mit dem erfolg, dass die Zeile 1 und 2 
überschrieben wurden.

Seppl, an sowas hatte ich auch gedacht. Ich bin nur noch nicht dazu 
gekommen hier zu schreiben...*g* gut das kann jetzt jeder sagen!
man merkt es auch immer, nervenderweise, am Simulator des AVR 
Studios...bei jeder lcd Ausgabe bleibt er hängen weil der Pin nicht 
gesetzt wird.

@spiro
Timingproblem könnte fast sein. Ich habe aber 16 MHz eingestellt. 
Merkwürdig ist, wenn ich einfach alle 10ms ein paar Zeichen, ohne 
zusätzliche Formatierung, hintereinander hineinschreibe funktioniert die 
Ausgabe sogar mit Adresse 0x14 und 0x54 korrekt.

von Ralf (Gast)


Lesenswert?

Hallo,

ich nochmal...also laut Datenblatt ist ein Samsung S6A0069X Prozessor 
auf dem Display verbaut. 
http://www.ortodoxism.ro/datasheets2/0/0121ak9kug4z0il5tau6tgofagpy.pdf

Aber so richtig weiterbringen bei der Lösung meines Problems tut mich 
das nicht.
Gruss Ralf

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.