[[C] LCD die 10000ste

Gast #3764469
Lesenswert?
• ▲
▼
Grüß Gott an alle da draußen,


ich habe ein kleines Problem.


Ich versuche gerade ein LCD mit HD44780 Chip zum laufen zu bringen, 
leider bisher ohne Erfolg.

Ich habe mich an Tutorial hier im Forum orientiert

http://www.mikrocontroller.net/articles/Absolute_Beginner-AVR_Steckbrettprojekte

Die lcd-routines.h habe ich angepasst, ist auch mit angehängt.

Alles andere habe ich 1:1 so gelassen. Leider passiert auf meinem LCD 
genau garnichts.

Wenn ich am Kontrastpoti drehe, dann werden die Kästchen schwächer oder 
stärker, mehr passiert aber nicht. Laut Internet soll man es so 
einstellen, dass man die Kästchen noch grade so sieht --> erledigt.

Das ganze läuft auf einem Mega32, das LCD hängt an PortC und JTAG ist 
aus.
Am Mega hängt ein 16Mhz Quarz, der auch fehlerfrei werkelt. LED blinken 
geht.

Angeschlossen ist es wie folgt:


PORT C 0 (22) =  RS
PORT C 1 (23) =
PORT C 2 (24) =  E
PORT C 3 (25) = DB4
PORT C 4 (26) = DB5
PORT C 5 (27) = DB6
PORT C 6 (28) = DB7
PORT C 7 (29) =

Ich hänge euch mal alles an was ich habe, eventuell sieht ja jemand das, 
was, mir verborgen bleibt.

Vielen Dank für die Aufmerksamkeit
Stefan
Angehängte Dateien:
Gast #3764653
Lesenswert?
• ▲
▼
>Und die Belegung, die du hier beschrieben und im Code hast unterscheidet
>sich.

Nein, nur die Kommentare sind falsch.

Sowas hier ist Schrott:
1
// Hier die verwendete Taktfrequenz in Hz eintragen, wichtig!
2
 
3
#ifndef F_CPU
4
#define F_CPU 16000000
5
#endif

Du denkst jetzt du hast F_CPU auf 16MHz gestellt.
Wenn aber bereits F_CPU definiert ist z.B. auf 8MHz
dann bleibt es auf 8MHz. Das könnte z.B. in den
Projekteinstellungen stehen und per Compileroption reinkommen.
Wenn der Takt jetzt aber 16MHz ist sind alle delays zu kurz.

Wenn schon dann knallhart:

#define F_CPU 16000000

ohne #ifndef Geraffel.

Dann bekommst du sowas wenn F_CPU schon definiert ist
und einen anderen Wert hat:

lcd.h:15:1: warning: "F_CPU" redefined
<command-line>: warning: this is the location of the previous definition

Da weiss man dann wenigstens was Sache ist.
Gast #3769511
Lesenswert?
• ▲
▼
Nach über 3 Tagen Kopfzerbrechen endlich die Lösung:

Das Jumper Kabel welches Atmega32 und DB5 verband, war defekt.


Ich danke allen fürs helfen und vor allem Danke für den Link. Der Code 
ist Klasse!

Viele Grüße

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.