hallo ich erhalte immer folgendes warning : #warning "F_CPU not defined for <util/delay.h>" aufbau der files : main.c ------ #define SPEED 1000000UL #ifndef F_CPU #define F_CPU SPEED #endif #define FOSC SPEED #define BAUD 1200 #define MYUBRR FOSC/16/BAUD-1 #include <avr/io.h> #include "header.h" ... header.h -------- #ifndef AVRTOOLS_H #define AVRTOOLS_H #include <inttypes.h> void waitms(uint16_t y); #endif header.c -------- #include <avr/io.h> #include "header.h" #include <util/delay.h> /* busy-wait delay loops */ void waitms(uint16_t y) { .... F_CPU wird doch vor dem include von header.h definiert. woran kann das liegen? besten dank
:
Gesperrt durch Moderator
Das Kompilieren von "header.c" hat nichts mit der "main.c" zu tun. Beide werden unabhaengig kompiliert und spaeter zusammengelinkt. Deswegen ist F_CPU nicht definiert. Am besten macht man das im Makefile. Guck dir mal die Version an, die "mfile" ausspuckt: http://www.sax.de/~joerg/mfile/ Da sollte drinstehen, wie man es "richtig" macht. gruss, bjoern.