Arduino: multiple files in der 1.0 IDE

Gast #2633512
Lesenswert?

Hallo Zusammen,

seit zwei Tagen versuche ich herauszubekommen, wie man mehrere Files mit 
der Arduino-IDE compilieren kann. Im Anhang habe ich das einfaches 
Beispiel. Obwohl das Headerfile eingebunden ist, wird die 
test()-Funktion nicht gefunden. Hat irgend jemand eine Idee?
Angehängte Dateien:
Gast #2633595
Lesenswert?

Deine test() ist in einem C-Quellcode definiert (Endung .c) und wird 
daher auch als C-Funktion übersetzt. Du sie deshalb in anderen 
Sourcefiles über das Includefile als C Funktion bekanntmachen.
1
extern "C" void test(void);
2
//     ^^^

Ohne diese Kennzeichnung wird beim Aufruf der Code und interner 
Symbolname für eine C++ Funktion erzeugt, bei der Definition aber der 
Code und interner Symbolname für eine C Funktion. Der Linker 
unterscheidet die aber genaustens und meldet, dass die C++ Funktion 
test() nirgends definiert ist.

Wenn du das nicht möchtest, benutze statt .c und .h die .cpp und .hpp 
Dateiendungen und arbeite durchgehend in C++.
Gast #2633918
Lesenswert?

Es ist mir noch ein neues Problem aufgefallen: Im cpp-Teil gibt es die 
Arduinofunktion

Serial.println("xyz");

In den C-Teilen kann ich diese aber nicht verwenden. Gibt es eine 
Möglichkeit, aus dem C-Teil eine Ausgabe auf die Serielle Schnittstele 
zu machen?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren