mit atmega32 44780 kompatibles lcd ansteuern

Gast #182317
Lesenswert?
• ▲
▼
Hi ich versuche mit einem ATMEGA32 und dem STK500 ein HD44780
kompatiebles LCD anzusteuern. Das LCD hängt an PortD des stk500, ich
schaffs irgendwie nicht, die LCD.h von Peter Fleury im programmers
Note
Pad2 einzubinden. avr gcc sagt folgendes:

> "make.exe" all

-------- begin --------
avr-gcc (GCC) 3.4.1
Copyright (C) 2004 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.

make.exe: *** No rule to make target `LCDcontroll.o', needed by
`LCDcontroll.elf'.  Stop.

> Process Exit Code: 2

ich habe im makefile meines programmes die lcd.h als sourcefile
angegeben.

SRC = $(TARGET).c lcd.h

In der lcd.h habe ich XTAL2 auf 8000000 gesetzt da das auch mein µc
takt ist.

was habe ich falsch gemacht ?

irgendwie kann avr gcc die lcd.h nicht einbinden.

p.s. Die Lcd.h liegt natürlich auch in dem Ordner in dem sich das c
program befindet.
Gast #182318
Lesenswert?
• ▲
▼
>make.exe: *** No rule to make target `LCDcontroll.o', needed by
>`LCDcontroll.elf'.  Stop.

>irgendwie kann avr gcc die lcd.h nicht einbinden.

Wie kommst Du auf diese Idee?
Die Fehlermeldung sagt jedenfalls was anderes aus.
Wie ist Dein $(TARGET) definiert, und wie heist das 'main'-File?
Gast #182319
Lesenswert?
• ▲
▼
ich musste im makfile den Namen des mainfiles noch richtig eintragen.
Doch jetz kommt eine andere Fehlermeldung:

> "make.exe" all

-------- begin --------
avr-gcc (GCC) 3.4.1
Copyright (C) 2004 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: LCDTest.c
avr-gcc -c -mmcu=atmega32 -I. -gdwarf-2 -DF_CPU=8000000UL  -Os
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=LCDTest.lst  -std=gnu99 -MD -MP -MF
.dep/LCDTest.o.d LCDTest.c -o LCDTest.o

Linking: LCDTest.elf
avr-gcc -mmcu=atmega32 -I. -gdwarf-2 -DF_CPU=8000000UL  -Os
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=LCDTest.o  -std=gnu99 -MD -MP -MF
.dep/LCDTest.elf.d LCDTest.o lcd.h --output LCDTest.elf
-Wl,-Map=LCDTest.map,--cref    -lm
LCDTest.o(.text+0xa): In function `main':
C:\Projekte\µC\LCDTest/LCDTest.c:7: undefined reference to
`lcd_init'
LCDTest.o(.text+0xe):C:\Projekte\µC\LCDTest/LCDTest.c:8: undefined
reference to `lcd_clrscr'
LCDTest.o(.text+0x16):C:\Projekte\µC\LCDTest/LCDTest.c:9: undefined
reference to `lcd_puts'
make.exe: *** [LCDTest.elf] Error 1

> Process Exit Code: 2

was is hier los ?
Gast #182323
Lesenswert?
• ▲
▼
Ich weis leider nicht, wo die LCD-Lib bei Dir liegt, wenn sie im
gleichen Verzeichnis wie Dein Programmcode liegt, dann füge einfach
unterhalb der "LDFLAGS-Zeilen" folgende Zeile ein:

LDFLAGS += -L. -l<namederlib>

Vorraussetzung dafür ist, daß der Name der LCD-Lib mit 'lib'
beginnt!
Etwa so:

LDFLAGS += -L. -llcd

Dann muss im Verzeichnis eine Lib mit dem Namen 'liblcd.a' vorhanden
sein.
Gast #182329
Lesenswert?
• ▲
▼
so der compiler macht jetzt keinen ärger mehr ich habe einfach alle
files aus der LCD lib in meinen Projektordner kompiert.
was muss ich nun in der lcd.h umändern?
ich nutze ein 2*16 zeilen lcd einene atmega32 und das stk500, dass
stk500 ist über die pins von portd mit dem lcd verbunden

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.