die lcd.h ist 'selbstverständlich' eingebunden.
Zu allem Überfluss habe ich auch noch die rn-control.h aus dem Demoprogramm drin, falls ich mal von dort eine Funktion brauche (wird ja weg optimiert).
Die Routine lcd_init steht dann in der lcd.h bzw. lcd.c und das
Code:
#define LCD_DISP_ON 0x0C /* display on, cursor off
auch.
Der Linker bindet die lcd.o auch ein...
Code:
Linking: rn-control.elf
avr-gcc -mmcu=atmega32 -I. -gdwarf-2 -DF_CPU=16000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=rn-control.o -I. -std=gnu99 -MMD -MP -MF .dep/rn-control.elf.d rn-control.o lcd.o --output rn-control.elf -Wl,-Map=rn-control.map,--cref -lm
@Hannes:
Das Display ist zumindest zum HD44780 kompatibel, soviel weiß ich.
edit: habe ein Datenblatt gefunden:
http://www.8051projects.net/e107_fil...jm204aspec.pdf
edit2:
auf Seite 16, im Flussdiagramm steht, dass man 30ms (bei einer Oszillatorfrequenz von 270kHz) warten muss, bevor man mit dem Initialisieren beginnen kann.
In der lcd.c, in
Code:
void lcd_init(uint8_t dispAttr)
, in Zeile 556,
steht im 4-Bit IO Mode eine Verzögerung von 16ms.
Die Frage ist nun, ob es sich um ein Timing-Problem handelt oder nicht...
Lesezeichen