Forum: Compiler & IDEs F_CPU im Makefile hat keine Wirkung


von JarJar (Gast)


Lesenswert?

Hi,
ich versuche grad ein kleines Programm mit delay.h zu schreiben. Dazu
hab ich im Makefile (abgeleitet vom Example demo.c) folgendes
geändert:

PRG            = test
OBJ            = test.o
MCU_TARGET     = atmega32
OPTIMIZE       = -O2
F_CPU          = 8000000
DEFS           =
LIBS           =

der Anfang des Sourcefiles sieht so aus:

#include <avr/io.h>
#include <avr/delay.h>

ich bekomme die Fehlermeldung:

#warning "F_CPU not defined for <avr/delay.h>"

Warum?

Wenn ich #define F_CPU 8000000 eintrage gehts

von Rolf Magnus (Gast)


Lesenswert?

Wird der Wert denn mit dem passenden Kommandozeilenparameter an den
Compiler übergeben?

von JarJar (Gast)


Lesenswert?

Wohl nicht. Zumindest nicht wenn es nicht schon in besagtem Makefile
vorgesehen war. Das Makefile ist für mich noch ein Buch mit sieben
Siegeln.

Wie mach ich das? Das Tutorial schweigt sich darüber aus

von Rolf Magnus (Gast)


Lesenswert?

Makros kann man bei gcc mit dem Kommandozeilenparameter
-DMakronmame=Wert definieren. Also fügst du in die CFLAGS ein
-DF_CPU=$(F_CPU) ein.

von JarJar (Gast)


Lesenswert?

Supi, danke. Wieder was gelernt

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.