Sketch in mehrere Dateien aufteilen

Guten Morgen,
ich habe mein Programm soweit fertig, nur wenn ich jetzt der Übersich wegen versuche alles in mehrere Datein aufzuteilen streikt der Kompiler.
stelle ich mich zu doof an oder gibts da nen Trick???

Mein Versuch bis jetzt hat einfach die Blöcke im Quelltext in verschiedene .c-Dateien aufgeteilt.
Beim Erstellen werden alle Dateien, da ja im gleichen Ordner, mit einbezogen, aber er sagt bei allem und Jeden "nicht gefunden" oder "kein Typ".

Grüße und danke im voraus
Robert

DCF_test.ino (14.5 KB)

Hi, wenn du die Arduino IDE verwendest, dann musst du die "Blöcke" nur in einen neuen Tab kopieren. Daraus wird dann eine eigene .ino Datei, die dann wieder zusammen gesetzt wird. In jedem Tab kannst du lokale Variablen deklarieren. Globale Variablen musst du in der ersten .ino festlegen.

MfG Marco

Danke ich werde es diese Woche bei Zeiten probieren.

Frage:
müssen es wirklich compilierbare .c Dateien sein?

reicht es nicht, wenn du bestimmte Funktionen etc. in eine .h header-Datei auslagerst, die du dann mit #include einbindest?
also z.B.
#include "myproject1.h".
#include "myproject2.h".
#include "myproject3.h".

Üblicherweise kann man bei "normalen" Compilern auch den Pfad mit angeben, also z.B.
#include "C:\source\Sketch\libs\myproject1.h" usw.

.c-Files werden (zumindest bei gpp C/C++) per Projekt-Datei oder makefile gelinkt, das ist etwas komplizierter und muss mE nicht immer unbedingt sein.

Ähm, da ist nix mit .c oder .h Dateien.
Man erstellt mehrere .ino Dateien und packt die in ein Ordner namens setup.
setup.ino
programm.ino

öffnet man nun setup.ino, hat man gleich 2 Tabs offen, ähnlich dem Bild

HaWe:
Frage:
müssen es wirklich compilierbare .c Dateien sein?

Wird sind in C++, also ist eigentlich.cpp korrekter

reicht es nicht, wenn du bestimmte Funktionen etc. in eine .h header-Datei auslagerst, die du dann mit #include einbindest?

Header enthalten nur Deklarationen! Keine Implementierungen. Ausnahme: inline Funktionen und Templates.

Ansonsten kommt in den Header nur der Funktionsprototyp und die Implementierung in die .cpp Datei

ja, das machen viele so, man kann aber durchaus auch die Funktionen in die header schreiben.
Reine Konvention, mache ich in gpp C schon fast immer so.

Ich schreibe in den Haupt Tan die Deklarationen, in den nächsten den Setup und in den dritten den loop. Und dann ggf. in weitere noch Funktionen und Unterroutinen.
So habe ich immer relativ kurze Seiten und muss nicht viel scrollen.
Um die die Tabs zu sortieren bennene ich sie A_xxxxxx, B_xxxxx, etc.