Hallo, ich habe ein kleines Problem mit der Ansteuerung meines 2 x 16 LCD Displays, welches ich euch hier nun mal genauer dalegen möchte. Ich verwende einen Atmega32 16PU in verbindung mit dem Atmel Evaluations-Board V2.0.1 und einem STK500. Das LCD-Modul ist das "TC1602A-09" von pollin. Als Programm nutze ich AtmelStudio 6. Ich habe das Display nun korrekt angeschlossen (PORTD wie in der lcd-routines.h schon angegeben) und nutze ein 5V Netzteil für die externe Stromversorgung des Displays. Für das Programm verwende ich die LCD Routinen von dieser Seite. AVR-GCC-Tutorial/LCD-Ansteuerung Als Beispielprgramm nutze ich auch das von dieser Seite. Wenn ich nun das Programm übertrage ist dies immer erfolgreich, keine Fehlermeldungen. Auf dem Display verändert sich nichts. Die obere Reihe mit den Blöcken verändert sich nicht, was ja bedeutet das die Initialisierung des Display schon fehlgeschlagen ist. Jetzt stellt sich mir die Frage wo der Fehler sein könnte, leider komme ich da auf keinen grünen Zweig. Vielleicht kennt ja einer von euch das Problem. Anbei noch ein Screenshot von AtmelStudio. Und ein Link zum Datenblatt vom LCD http://www.adafruit.com/datasheets/TC1602A-01T.pdf Gruß
Hast Du bei "#define F_CPU" die richtige Taktfrequenz des µC angegeben? Gruß Dietrich
Johannes Berger schrieb: > Ich habe das Display nun korrekt angeschlossen (PORTD wie in der > lcd-routines.h schon angegeben) Also so?
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
Bedenke: Wir können das alles nicht kontrollieren. Eine fehlerhafte Verbindung und nichts funktioniert. Und ja: wir hatten schon Fälle hier, in denen steif und fest behauptet wurde, das würde alles stimmen und auf dem ersten Photo sah man dann, dass er Leitungen vertauscht hatte. D.h. DU musst 100% sicher sein, dass diese 6 Verbindungen korrekt hergestellt wurden, es keinen Kurzschluss zwischen den Leitungen gibt und auch keine schlechte elektrische Verbindung dabei ist. Das andere was auch immer wieder mal Probleme macht, eigentlich ist das das Hauptproblem, sind für das LCD unpassende Timings.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
BOOTUP_MS scheint einer der kritischeren zu sein. Geh da mal von 15ms auf 50ms hoch. Die restlichen sind meistens nicht ganz so kritisch. Aber einige LCD brauchen etwas länger nach dem Anlegen der Spannungsversorgung, bis sie dann erstmalig auf Kommandos reagieren. Hier
1 | |
2 | |
3 | |
hast du den korrekten Wert eingetragen?
Gast
#3360791
Es scheint als sei der LCD Controller nich HD44780 kompatibel oder?
Karl Heinz Buchegger schrieb: > Hier#ifndef F_CPU > #define F_CPU 3686400 > #endif > hast du den korrekten Wert eingetragen? ja ich habe den Wert auf 1000000 geändert. Habe vorher auch die Frequenz des uC ausgelesen. Das it dem BOOTUP_MS probiere ich mal aus. gruß
dei Veränderung des Wertes hat nichts ergeben. Und die Änschlusse sind auch richtig( hab ich jetzt zum 3. mal gecheckt)
JP1 und JP2 sind nicht gejumpert? (das sind die UART Pins. Wenn du die Jumper drinn hast, hängt der MAX232 an den LCD Datenleitungen und pfriemelt da rein)
Karl Heinz Buchegger schrieb: > JP1 und JP2 sind nicht gejumpert? > > (das sind die UART Pins. Wenn du die Jumper drinn hast, hängt der MAX232 > an den LCD Datenleitungen und pfriemelt da rein) Selbiges für die restlichen Jumper JP1 bis JP8. Müssen alle raus.
Johannes Berger schrieb: > Ich habe das Display nun korrekt angeschlossen Hast Du auch ein Poti als Kontrastregler angeschlossen und mal daran gedreht? Gruß Dietrich
Dietrich L. schrieb: > Hast Du auch ein Poti als Kontrastregler angeschlossen und mal daran > gedreht? > > Gruß Dietrich Ja habe ich. Und ich habe es auch geschafft, dank eurer Hilfe und ein wenig rumprobieren ;). Die Jumper JP1 -JP8 habe ich entfernt. Dannach ging es zwar noch nicht aber durch eine erhöhung des ISP Clockspeed hat es dann funktioniert. Vielen Dank also. Einziges Problem ist jetzt noch das in der 2. Zeile das 7 Zeichen immer eine x belibige Zahl ist. Nach jeder Übertragung ändert sich diese. Eine Fehlfunktion des Displays? Gruß
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.
