Forum: Mikrocontroller und Digitale Elektronik LCD an Atmega 8


von Patrick E. (f4550tim)


Angehängte Dateien:

Lesenswert?

Hallo ihr,

ich habe folgendes LCD: 
http://www.pollin.de/shop/dt/NzczOTc4OTk-/Bauelemente_Bauteile/Aktive_Bauelemente/Displays/LCD_Modul_C0802_04.html 
an einem ATMega8 hängen. Ich habe die Pinbelegung mehrfach geprüft. Sie 
stimmt.

Das Problem ist, das sich das LCD nicht inizialisieren lässt. Bedeutet 
das die schwarzen Balken nicht verschwinden. Das typische 
Kontrast-Problem kann ausgeschlossen werden. Pinbelegung ist folgende:

PD7 = D7
PD6 = D6
PD5 = D5
PD4 = D4
PD3 = E
PD1 = RS

R/W Habe ich fest auf Masse angebunden. Im Controller sind per Fuse 8MHz 
intern Clock ausgewählt.


Es wäre toll wenn jemand mal über meinen Code drüber schauen könnte. 
Evt. fällt ein Fehler auf, welchen ich eben nicht sehe.

Ich habe die 3 Dateien einzeln hochgeladen, und einmal noch das gesamte 
AtmelStudio Projekt.


Vielen Dank

Patrick

von g457 (Gast)


Lesenswert?

Warnungen sind entgegen landläufiger Meinung nicht dazu da um ignoriert 
zu werden. Und ich hab die sehr starke Vermutung, dass Du eine wichtige 
Warnung bekommst beim Compilieren.

von Patrick E. (f4550tim)


Angehängte Dateien:

Lesenswert?

Danke für deine Antwort g457. Ich bekomme keine Warnung, und keinen 
Error.

Nur wenn ich die #include "lcd_routine.c" aus meinem pollinlcd.ccp 
rausnehme, dann bekomme ich Error Meldungen.

Das wären die drei im Bild. Könntest du mir helfen zu verstehen was 
diese bedeuten ?

Danke
Patrick

von Uwe (de0508)


Lesenswert?

Warum nennst Du die Datei .cpp ?

Wie sieht das Makefile aus ?

von Patrick E. (f4550tim)


Angehängte Dateien:

Lesenswert?

Also einmal heißt die .cpp weil es eine C++ Datei ist.

Habe das Makefile einmal angehängt.

Patrick

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Das sieht nicht richtig aus, wenn du das obere Nibble von PORTD benutzen 
willst:
1
//  LCD DB4-DB7 <-->  PORTD Bit PD0-PD3
2
#define LCD_PORT      PORTD
3
#define LCD_DDR       DDRD
4
#define LCD_DB        PD0
sondern eher
1
#define LCD_DB        PD4

von Patrick E. (f4550tim)


Lesenswert?

Genau das war der Fehler Matthias.
Danke dir :D

Ist es normal, das ich die lcd.c und die lcd.h includieren muss ?

Patrick

von TriHexagon (Gast)


Lesenswert?

Quellcodedateien .c .cpp inkludiert man nicht, die linkt man hinzu. Nur 
Headerdateien .h .hpp werden inkludiert.

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.