Ich kann mir das mit der gleichen Meldung nicht erklären. Ich habe auch
Probleme deinen Projektaufbau zu verstehen, d.h. wo befinden sich die
lcd.c und die lcd.h von Peters Library bei dir?
Ich schlage vor, dass du zunächst dein Projekt in einen definierten
Anfangszustand bringst.
1/ Kopiere main.c und Makefile in einen Backupordner.
2/ Erstelle ein neues main.c
1 | int main(void)
|
2 | {
|
3 | while(1);
|
4 | }
|
3/ Ändere die SRC Zeile in Makefile so
SRC = $(TARGET).c
4/ Prüfe ob das fehlerfrei kompiliert wird. Wenn Fehler kommen, dann ein
make clean machen und anschliessend ein make >& error.txt. Den Text
error.txt bitte bei nächsten Fragen mit hochladen.
Nach dem erfolgreichen Kompilieren schlage ich vor, dass du in dem
Verzeichnis in dem dein main.c steht einen Ordner lcdlibrary anlegst und
alles von Peter Fleurys LCD-Library (insbes. lcd.c und lcd.h) dort
hinein schreibst.
Dann änderst du main.c so
1 | //----------------------------------------------------------------------
|
2 | // Titel : LCD Test
|
3 | //----------------------------------------------------------------------
|
4 | // Funktion : LCD Test
|
5 | // Schaltung : LCD an Port D
|
6 | //----------------------------------------------------------------------
|
7 | // Prozessor : ATmega8/48/88/168
|
8 | // Takt : 3.6864 MHz
|
9 | // Sprache : C
|
10 | // Datum :
|
11 | // Version :
|
12 | // Autor :
|
13 | // Name des Programmes in der Makefile : main.c
|
14 | //
|
15 | //----------------------------------------------------------------------
|
16 | #include <stdlib.h> // Standardlib
|
17 | #include <avr/io.h> // IO Belegung Mega8
|
18 | #include "lcdlibrary/lcd.h" // LCD <=========
|
19 | #include <inttypes.h> // Interger
|
20 |
|
21 | //#define F_CPU 3686400 // Frequenz Quarz
|
22 |
|
23 | int main (void)
|
24 | {
|
25 | lcd_init (LCD_DISP_ON_CURSOR_BLINK);
|
26 | lcd_clrscr();
|
27 | lcd_puts (" Hallo Du ");
|
28 |
|
29 | for(;;) {}
|
30 | }
|
Und im Makefile die Zeile mit dem SRC so:
SRC = $(TARGET).c lcdlibrary/lcd.c