ich habe folgendes Problem:
Mein EA-DOG LCD, welches an ein STK500 angeschlossen ist soll mit dem
von Tobias Tetzlaff abgeänderten Code, welcher ursprünglich von Ulrich
Radig für ein Standard-LCD programmiert worden war, betrieben werden.
(Gefunde in diesem Thread: Beitrag "LCD Probleme mit ST7036").
Beim Compilieren treten allerdings einige Errors und Warnings auf,
welche mir nicht erklärlich sind.
Hardware:
Beschaltung wie im Schaltplan im Anhang
ATmega88-20PU
20MHz Takt
3,3V Versorgungsspannung
EA DOGM163W-A LCD
Ich arbeite mit dem neuesten WINAVR und dem darin enthaltenen Programmers Notepad. Überspielt wird das Programm dann per AVR Studio auf ein STK500
> "make.exe" all
-------- begin --------
avr-gcc (WinAVR 20100110) 4.3.3
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Compiling C: main.c
avr-gcc -c -mmcu=atmega88 -I. -gdwarf-2 -DF_CPU=12000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./main.lst -std=gnu99 -MMD -MP -MF .dep/main.o.d main.c -o main.o
In file included from main.c:2:
./lcd.c: In function 'LCD_Init':
./lcd.c:16: warning: unused variable 'tmp'
./lcd.c: In function 'LCD_Print':
./lcd.c:256: warning: value computed is not used
Compiling C: lcd.c
avr-gcc -c -mmcu=atmega88 -I. -gdwarf-2 -DF_CPU=12000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./lcd.lst -std=gnu99 -MMD -MP -MF .dep/lcd.o.d lcd.c -o lcd.o
lcd.c: In function 'LCD_Init':
lcd.c:16: warning: unused variable 'tmp'
lcd.c: In function 'LCD_Print':
lcd.c:256: warning: value computed is not used
Linking: main.elf
avr-gcc -mmcu=atmega88 -I. -gdwarf-2 -DF_CPU=12000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=main.o -std=gnu99 -MMD -MP -MF .dep/main.elf.d main.o lcd.o --output main.elf -Wl,-Map=main.map,--cref -lm
lcd.o: In function `Read_LCD':
G:\Elektronik\µC\ATmega88\DOGM LCD\EA DOGM/lcd.c:164: multiple definition of `Read_LCD'
main.o:G:\Elektronik\µC\ATmega88\DOGM LCD\EA DOGM/lcd.c:164: first defined here
lcd.o: In function `Write_LCD':
G:\Elektronik\µC\ATmega88\DOGM LCD\EA DOGM/lcd.c:123: multiple definition of `Write_LCD'
main.o:G:\Elektronik\µC\ATmega88\DOGM LCD\EA DOGM/lcd.c:123: first defined here
lcd.o: In function `LCD_Init':
G:\Elektronik\µC\ATmega88\DOGM LCD\EA DOGM/lcd.c:18: multiple definition of `LCD_Init'
main.o:G:\Elektronik\µC\ATmega88\DOGM LCD\EA DOGM/lcd.c:18: first defined here
lcd.o: In function `LCD_print_str':
G:\Elektronik\µC\ATmega88\DOGM LCD\EA DOGM/lcd.c:315: multiple definition of `LCD_print_str'
main.o:G:\Elektronik\µC\ATmega88\DOGM LCD\EA DOGM/lcd.c:315: first defined here
lcd.o: In function `LCD_Clear':
G:\Elektronik\µC\ATmega88\DOGM LCD\EA DOGM/lcd.c:324: multiple definition of `LCD_Clear'
main.o:G:\Elektronik\µC\ATmega88\DOGM LCD\EA DOGM/lcd.c:324: first defined here
lcd.o: In function `LCD_Print':
G:\Elektronik\µC\ATmega88\DOGM LCD\EA DOGM/lcd.c:211: multiple definition of `LCD_Print'
main.o:G:\Elektronik\µC\ATmega88\DOGM LCD\EA DOGM/lcd.c:211: first defined here
make.exe: *** [main.elf] Error 1
Ok vielen Dank, das habe ich geändert. Nun konnte ich das ganze compilieren. Allerdings wird nach dem Überspielen nichts auf dem LCD angezeigt. Könnte das an einem der Warnings liegen?
das mit den warnings ist soweit klar. Aber eines der warnings zeigt auf einen eine zeile wo ein pointer um eins hochgezählt wird. "value not computed" oder so ähnlich.
Das mit dem Kontrast muss ich mal probieren. Heute Mittag dann, geht hier grad nicht^^.
Die Schaltung werde ich vorsichtshalber auch nochmal prüfen. Das LCD ging noch nicht, allerdings habe ich noch 2 weitere (waren auch noch nie in Betrieb) sind aber alle nagelneu.
Ok die ganze Sache hat sich nun doch noch geändert. Ich muss nun wies aussieht auf SPI - Ansteuerung umsteigen.
Aber hat mir da vll jemand n paar tipps bzw. ne lib für 3,3V SPI?
Lesezeichen