AFAIK, to dziwactwo wbudowane w Arduino IDE. Najlepszym obejściem, jakie mogę wymyślić, jest struktura plików podobna do:
ArduinoWorkspace --- /myproj/ ----+ /src/ --------+ myproj.cpp
+ myproj.ino + sensor.h
+ sensor.cpp
+ (more files)
, gdzie myproj.cpp jest po prostu main.cpp #include
. Powinno to pozostawić pliki projektu „czyste”, tak aby działały również w bardziej typowym środowisku.
Aktualizacja:
Pożyczyłem nazwę „main” z twojego pytania, ale po zastanowieniu „main” jest nazwą zastrzeżoną, w szczególności, każdy program C lub C ++ ma main.c lub main.cpp jako kod najwyższego poziomu, dostarczany przez system, jeśli nie zapewniasz jednego. Dlatego uniknąłem używania go jako nazwy folderu i projektu (ale spróbuj tego) i zaktualizowałem schemat. Potrzebujesz folderu projektu i pliku .ino o tej samej nazwie. Plik .ino może
#include <src/anything-else-you-like>
, np. plik kodu najwyższego poziomu, pobierając w ten sposób wszystko inne. Możesz potrzebować swojego .ino do #include
każdego z plików w src
folderze, jeśli kompilator sam nie zorientuje się , że tam są twoje inne pliki.
BTW, jeśli użyjesz nazwy main.cpp dla swojego górnego pliku, będzie musiał wywołać funkcje setup () i loop () (oraz funkcję zdarzenia szeregowego, jeśli go użyjesz). Prawdopodobnie najlepiej pozostawić nazwę „main” w spokoju, niech system zapewnia tę samą nazwę główną dla każdego programu Arduino, który dostaje domyślnie, i napisz kod projektu w typowy sposób Arduino - zaczynając od setup () i loop ().
myproj.cpp
masz na myślimyproj.ino
? Ponieważ nie widzę gdziemyproj.cpp
jest!