HD44780 + AVR mega88

Gast #819198
Lesenswert?

Hi,

hab mir ein HD44780 Display zugelegt. Hab die Anschlüsse ans STK 
kontrolliert und es sollte alles so passen wie im AVR_GCC Tut hier 
beschrieben. Hab dabei auch den PORTD gewählt also alles so gelassen wie 
es da steht. Wenn ich jetzt den Code compiliere kommt erstmal folgende 
Warning:

../lcd-routines.c: In function 'set_cursor':
../lcd-routines.c:126: warning: 'tmp' may be used uninitialized in this 
function

Optimizer ist auf -Os eingestellt, falls das wichtig ist.

Wenn ich das jetzt so in mein Controller brenne kommt nichts am Display 
an. Die Hintergrundbeleuchtung ist einfach nur an und es sind eben diese 
"schwarzen Kästen" leicht zu erkennen. Die Kontrastspannung steht auf 
dem typ. Wert von 3,4V.

Kann es was mit den delays zutun haben?:

void lcd_enable(void)
{
   // Bei Problemen ggf. Pause gemäß Datenblatt des LCD Controllers 
einfügen
   // Beitrag "Re: Bitte helft mir. Schon wieder AtMega16"
   LCD_PORT |= (1<<LCD_EN);
    _delay_us(1);                   // kurze Pause
   // Bei Problemen ggf. Pause gemäß Datenblatt des LCD Controllers 
verlängern
   // Beitrag "LCD -> Probleme mit Optimierungsgrad"
   LCD_PORT &= ~(1<<LCD_EN);
}

Hab das delay mal erhöt auf 20, hat aber auch nichts gebracht.
Wo kann hier der Fehler liegen?

Danke
jdi
Gast #819764
Lesenswert?

Immer wieder gleiches Thema - Fuses. Der ATmega88 hat außerdem noch 
einen clock divider. Also einfach mal kucken, auf welcher Frequenz der 
rennt und mit den Einstellungen für den display code vergleichen.

Gruß Matthias
Gast #822922
Lesenswert?

Kann doch nicht so schwer sein das Ding zum laufen zu bringen? :-/

Was sollte ich noch überprüfen? Kann man ganz einfach testen ob das Ding 
überhaupt lebt? Hintergrundbeleuchtung geht ja schonmal an.

jdi

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