@Holger: Macht er doch.
1 | lcd_command(0x30); // 3 mal 0x30 ins Steuerregister schreiben
|
2 | _delay_ms(10);
|
3 | lcd_enable();
|
4 | _delay_ms(10);
|
5 | lcd_enable();
|
Das lcd_command(0x30); schreibt die 0x30 das erste mal in den Port und
danach ins Display. die zwei nachfolgenden lcd_enable(); schreiben die
0x30 noch zweimal ins Display. Da die 0x30 noch im Port stehen, reicht
es, die Enable-Leitung zweimal zu toggeln. Im 4-Bit-Modus geht das
natürlich nicht so einfach, an den übertragenen Werten ist aber zu
erkennen, hier wird im 8-Bit-Modus gearbeitet.
@elomt: Prozessortakt an den vorgesehenen Stellen eingetragen? #define
F_CPU, Makefile oder Projekteinstellungen, falls GCC im AVRStudio.
Danach stimmen auch die Delay-Zeiten. Wobei - Manche Displays sind aber
auch echte Schlaftabletten...
Gruß
Jadeclaw.