Verzweiflung um LCD Lib von Peter Fleury

OP #4133142
Lesenswert?

Hi zusammen,

ich weiß, das Thema wurde schon einige Male durchgekaut aber ich komm 
einfach nicht weiter. Es geht um einen AVR Mega8, ein 2x16 LCD Display 
(gibt kein Datenblatt dazu) und die Lib von Peter Fleury.

Da ich die Steuerpins von den Datenpins trennen musste (Steuerpins 
PortD, Datenpins PortC) möchte ich die Lib von Peter Fleury verwenden. 
Es ist auch nicht das erste LCD dass ich ansteuere, hat bisher immer 
geklappt. Nur leider verzweifle ich dieses mal.

Meine Belegung:

RS: PD0
RW: PD2
E: PD1

DB4-8: PC0-PC3
DB0-3: offen

Ich kann das Display ansprechen, den Courser blinken lassen, ihn 
verschieben (bedingt, geht nur innerhalb der ersten Positionen) aber 
wenn ich Text ausgebe (z.B. mit put_c("A") oder put_s("ABC") zeigt das 
Display nur Nullen an. Also für jeden Buchstaben oder Zeichen das ich 
ausgebe erscheint eine 0 auf dem Display.

Ich hab auch versuchsweise RW fest auf GND gelegt und den Part der Lib 
entsprechend mit einem fixen Delay abgeändert. Kein Erfolg.

Mit zwei weiteren LCD Displays (anderer Hersteller) ebenfalls die Selbe 
Problematik. Alle Verbindungen sind sauber verlötet und x-mal 
durchgeklingelt.

Wenn ich DB0-3 auf GND lege passiert übrigens gar nichts. Display bleibt 
aus (Balken verschwinden aber es erscheint kein Courser). Das hatte ich 
so auch noch nie, hab die Pins bisher immer auf GND gelegt.

Jemand eine Idee?
Gast #4133226
Lesenswert?

Borsty Bürste schrieb:
> hätte ich doch nur alles wie immer auf einen Port gelegt

wenn es nur am port liegt, hilft dir mein alter code vielleicht weiter. 
Du kannst da jeden pin einzeln definieren:
    #ifndef db5_Port
    #define db5_Port db4_Port
    #define db6_Port db4_Port
    #define db7_Port db4_Port
    #define db5_Pin db4_Pin+1
    #define db6_Pin db4_Pin+2
    #define db7_Pin db4_Pin+3
    #endif
Es sollte universal-code für jede Art von Anschluss werden. Inzwischen 
benutze ich aber nur noch i2c. Deswegen ist der code irgendwann 
stehengeblieben. hat aber funktioniert.
Angehängte Dateien:
OP #4134616
Lesenswert?

Läuft.

War eine Minibrücke am Kupfer wo nicht richtig geätzt wurde. Konnte man 
selbst unter dem Mikroskop nur schwer erkennen. Somit hatte DB5 einen 
Kurzschluss mit GND. Beim durchklingeln natürlich nicht aufgefallen. 
Ärgerlich...

Danke für eure Hilfe. Verwende nun die Lib von Peter Fleury.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren