RE: C-Code zu LCD von Fleury

Gast #470303
Lesenswert?

Hallo nochmal !!

Ich hatte hier gestern was zu einem Compiler-Problem beim Versuch, ein 
44780-LCD mit Fleurys Code zu betreiben, geschrieben.
Der Code wird inzwischen anstandslos übersetzt (lag am makefile). Nun 
hab ich das hex-file aufm Board, es tut sich aber noch gar nix aufm 
Display.
Ich hab den Code aus test_lcd.c und lcd.c von Fleury benutzt. Die 
Board-Frequenz, den Port und den uC-Typ hab ich im lcd.h bzw. makefile 
angepasst.
ABER das LCD gibt kein einziges Zeichen von sich...
Vielleicht die Verdrahtung ? Hab den 4-bit Mode eingestellt und versorge 
das Display über VTG von meinem STK500 aus (sollte soweit funzen, da das 
LCD laut Datenblatt weniger Strom zieht als eine LED).

Hat da jemand ne Idee ?? Würd mich sehr über Vorschläge freuen!!

Gruß, Thommy
#470572
Lesenswert?

Fangen wir doch mal bei den einfachen Tests an:
Versorgungsspannung liegt an?
Kontrastspannung liegt an?
Wenn Versorgungsspannung da ist, Kontrastspannung
stimmt und sonst nichts am LCD angeschlossen ist,
müsstest du bereits auf dem LCD in der ersten Zeile
lauter Balken sehen.
Sind die da?
Gast #472528
Lesenswert?

Hi Karl !

Ich hab jetzt mal ganz banal die Funktion geprüft, und gemerkt, dass man 
den Poti nur bis ganz auf Endausschlag drehen muss, damit dann die 
Leerzeichen als Balken angezeigt werden.
Nun spinnt aber anscheinend die Datenübertragung zum Display. Es zeigt 
zwar ne Menge Zeichen an, aber vollkommen sinnlos. Egal, was ich 
ausgeben möchte, es kommt der wildeste Salat raus - manchmal kommt auch 
gar nix.
Die Verdrahtung hab ich nochmal geprüft - die is so ok. Ich hab die 
Osc.-Freq. aus meinem STK500 ausgelesen (3,686 Mhz) und lcd.h 
entsprechend geändert. IO-Mode stimmt auch, Port stimmt, und 
Diplay-Controller-Typ hab ich auch richtig eingestellt. Was kann da noch 
fehlen/falsch sein ?!

Ich verzweifel langsam über diesem doofen Teil...

Dank u. Gruß, Thommy
Gast #474903
Lesenswert?

Hi Peter !

Die Leitungen vom STK500-Port zum LCD sind kaum länger als 10cm (hab ich 
nun extra nochmal umgelötet). Ich hab auch die Verdrahtung geprüft - ist 
ok. Ich nenn hier einfach noch ein paar Fakten zum 
Aufbau/Programmierung:

- STK500 mit atmega8
- Quarz mit 4Mhz auf Board (in lcd.h angepasst)
- LCD mit 44780-Chip, 4x16 Zeichen (Zeilenanzahl und -länge angepasst; 
was ist jedoch mit LCD_LINE_LENGTH und LCD_START_LINEx-Parametern ? muss 
ich die anpassen ?)
- LCD_IO_MODE == 1 und dementsprechend verdrahtet
- Versorgungsspannung für LCD beziehe ich von STK500-Board
- programmiert unter AVR Studio; unter "Source Files" lcd.c und 
test_lcd.c hinzu gefügt, und unter "Header Files" alle in den *.c-Files 
geforderten Header-Dateien hinzu gefügt; dein makefile verwendet und MCU 
name auf atmega8 geändert
- der Code wird ohne Mucken compiliert

Der Fehler äussert sich so, dass nach dem Übertragen des Codes erstmal 
nichts geschieht und nach ein- oder zweimaligem Aus-/Einschalten die 
Anzeige verrückt spielt: mal werden durchgehend Nullen angezeigt, mal 
sind es gemischte Zeichen. Dabei flimmern hier und dort ein paar 
horizontale Linien übers Bild, als ob alles ständig wiederholt würde.

So, jetzt hab ich hier wirklich alles runtergetippt, was mir zum 
Aufbau/Programmierung eingefallen ist.

Ich hoffe, dass Du einen Fehler entdeckt hast, und würd mich freuen, was 
von Dir zu hören...

Gruß, Thommy
Gast #474990
Lesenswert?

Probier doch mal das:

<code>
#include <lcd.h>
int main (void)
{
    lcd_init(LCD_DISP_ON_CURSOR_BLINK);
    lcd_puts("Test");

    for (;;)
    {}
}
</code>

Verdrahtung so wie auf dem Bild (Anlage).

in der LCD.h fürs erste nur Ports und Pins anpassen.

Gruß
Angehängte Dateien:

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