Ich habe nun mal endlich angefangen mit AVR Studio zu arbeiten (hier V5.1) Bitte entschuldigt diese blöde Frage, aber ich komme einfach nicht weiter: Mein Projekt enthält div. einzubindenden .c sowie .h, die wieder andere .h einbinden. Das Haptprogramm ist Main.c Nun ist es so, dass in Main.c die allerersten Zeilen sind: #ifndef F_CPU #define F_CPU 16000000UL #endif danach folgt #include <util/delay.h> AVR Studio meckert trotzdem beim Compilieren dass F_CPU nicht defined wäre, da trotzdem als allererstes anscheinend TWI_Masters.h compiliert wird (wo auch noch mal delay.h includiert wird, obwohl das erst viel später dran käme. Anscheinend, weiß AVR Studio nicht, dass er bitteschön mit Main.c beginnen soll. Kann ich das irgendwo festlegen ? Danke - und bitte entschuldigt die vermutlich ziemlich dumme Frage. Oli
Oli schrieb: > AVR Studio meckert trotzdem beim Compilieren dass F_CPU nicht defined > wäre, da trotzdem als allererstes anscheinend TWI_Masters.h compiliert > wird (wo auch noch mal delay.h includiert wird, obwohl das erst viel > später dran käme. Ein *.h File wird überhaupt nicht compiliert. Wenn doch, dann hast du es an falscher Stelle in den Projektbaum vom AVR-Studio eingebunden. In die Project-Sektion "Source Files" kommen nur die C-Files rein (bzw. die Files, die zu kompilieren sind) > Anscheinend, weiß AVR Studio nicht, dass er bitteschön mit Main.c > beginnen soll. Braucht es auch nicht wissen. Da C-Files unabhängig voneinander compiliert werden, spielt es keine Rolle, in welcher Reihenfolge diese compiliert werden. Edit: Sehe grade: du benutzt die 5-er Version vom AVR-Studio. Von der weiß ich nicht, wie der Projektbaum organisiert ist. Im 4-er gab es noch unterschiedliche 'Kategorien' für C und Header Files. Im 6-er gibts das auch nicht mehr. Da wirft man einfach alles ins Projekt rein, und AVR-Studio weiß selber, dass H-Files nicht zu komplilieren sind.
Oli schrieb: > #ifndef F_CPU > #define F_CPU 16000000UL > #endif dazu, und die richtige Stelle, F_CPU zu definieren, s. Beitrag "F_CPU, wo steht die Definition"
Oli schrieb: [...] > Nun ist es so, dass > in Main.c die allerersten Zeilen sind: > #ifndef F_CPU > #define F_CPU 16000000UL > #endif [...] Das ist sowieso falsch. Es sagt nämlich: wenn F_CPU noch nicht definiert ist definiere es als 16Mio. Wenn Dein µC mit 16MHz läuft möchtest Du aber F_CPU ohne wenn und aber als 16Mio (=16MHz) definieren. Man kann nicht alles einfach aus einem Header abschreiben... ;-)
Karl Heinz Buchegger schrieb: > Ein *.h File wird überhaupt nicht compiliert. ...es sei denn, man will Precompiled Header nutzen. Die Ausgabe ist in diesem Falle eine gch-Datei: http://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.