mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR Studio hängt sich auf


Autor: steve (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

#include <utils/delay.h>  // Bindet die Delay.h aus der Library ein
#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

Autor: steve (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: MeinerEiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kennt AVR-Studio auch die Datei code.c?

Autor: steve (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wo muss man diese Datei angeben?

Autor: MeinerEiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hinzufügen, wo die main.c auch ist.

Autor: steve (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also bei "source file" ist er drin

Autor: ozo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie schaut denn der Inhalt von code.h aus?

Autor: ozo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Upps, sorry. Überlesen. Aber eine Funktion namens code() gibts doch 
garnicht - und die ruft du von main()...

Autor: steve (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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();
}

Autor: steve (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
muss man vieleicht irgend was im Makefile beachten?

help!

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Deine funktion heißt SPS_code() und nicht code()!
Stand aber schon etwas weiter oben der Hinweis...

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt keine Funktion code() zum aufrufen.

Autor: steve (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: steve (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich habe es bei aus einem Beispiel abgeschriben.

Autor: steve (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
extern habe ich jetzt weg.
klappt leider auch nicht.

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn du ein externes makefile verwendest mußt du dort die code.c 
natürlich eintragen.

Autor: steve (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und wo genau?

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.