Hallo Leute, ich habe folgendes Problem. Ich möchte paar Funktionen aus main.c auslagern. ich habe dazu am Anfang des Programms #include <Code.c> hingeschriben. Sobald ich aber auf "build" drücke, hängt sich AVR Studio ab. Könnt Ihr mir helfen? Gruß Steve
Generell included man C Files nicht. Man Included nur Header. Wenn du das C-File brauchst, lade es in dein Projekt und Include die Headerfile zu diesen C-Files. Außerdem muss es bei eignenen Dateien in Hochkommas stehen, nicht zwischen < >. < > bezieht sich auf Dateien aus der Library.
1 | #include <utils/delay.h> // Bindet die Delay.h aus der Library ein |
2 | #include "myHeaders.h" // Bindet eigene Headerfile ein, die im Projektverzeichnis liegt |
Les doch mal diesen Artikel durch: http://www.mikrocontroller.net/articles/Include-Files_(C) Gruß Chris
Also jetzt hängt sich AVR Studio nicht mehr aus, aber ich bekomme folgende Fehler heraus. In function "main" ..... undefined reference to "code.c" Folgendes habe ich in "main.c" stehen: #include "code.h" int main(void) { code(); } Folgendes habe ich in "code.h" stehen: #ifndef SPS_h #define SPS_h extern void SPS_Code (void); #endif Folgendes habe ich in "code.c" stehen: #include "code.h" void SPS_Code (void) { ........... } was mache ich falsch?
Upps, sorry. Überlesen. Aber eine Funktion namens code() gibts doch garnicht - und die ruft du von main()...
doch in main rufe ich die Funktion "code" auf! Oder versteh ich was falsch? Folgendes habe ich in "main.c" stehen: #include "code.h" int main(void) { code(); }
Deine funktion heißt SPS_code() und nicht code()! Stand aber schon etwas weiter oben der Hinweis...
ach das war mit diesem Beitrag gemeint!!!! ICh habe mich oben verschrieben. So steht es bei mir momentan. In function "main" ..... undefined reference to "code.c" Folgendes habe ich in "main.c" stehen: #include "code.h" int main(void) { SPS_code(); } Folgendes habe ich in "code.h" stehen: extern void SPS_code (void); Folgendes habe ich in "code.c" stehen: #include "code.h" void SPS_code (void) { ........... } klappt aber trotzdem nicht
Code bitte mit copy/paste und nicht abschreiben. Da schleichen sind doch nur noch mehr Fehler ein. Ich würde es mal ohne extern versuchen, warum hast du das denn dort stehen?
wenn du ein externes makefile verwendest mußt du dort die code.c natürlich eintragen.
MeinerEiner wrote:
> hinzufügen, wo die main.c auch ist.
s.o.
Etwas Eigeninitiative und ein gewisses Maß an Experimentierfreude gehört
zum Hobby µC aber auch dazu!
Also einfach mal den Kopf einschalten und selber was ausprobieren.
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.