AFAIK, itu adalah kekhasan yang tertanam dalam Arduino IDE. Solusi terbaik yang dapat saya pikirkan adalah struktur file seperti:
ArduinoWorkspace --- /myproj/ ----+ /src/ --------+ myproj.cpp
+ myproj.ino + sensor.h
+ sensor.cpp
+ (more files)
, di mana myproj.cpp hanya #include
main.cpp. Ini akan membuat file proyek Anda "bersih" sehingga mereka harus bekerja di lingkungan yang lebih khas juga.
Memperbarui:
Saya meminjam nama "utama" dari pertanyaan Anda, tetapi pada pantulan, "utama" adalah nama yang disediakan, khususnya, setiap program C atau C ++ memiliki main.c atau main.cpp sebagai kode tingkat atas, yang disediakan oleh sistem jika Anda tidak menyediakannya. Jadi saya menghindari menggunakannya sebagai folder-dan nama-proyek (tapi jangan ragu untuk mencobanya) dan saya telah memperbarui diagram. Yang Anda perlukan adalah folder proyek dan file .ino di dalamnya, dengan nama yang sama. File .ino bisa
#include <src/anything-else-you-like>
, misalnya, file kode tingkat atas Anda, dengan demikian menarik yang lainnya. Anda mungkin perlu .ino ke #include
setiap file di src
folder, jika kompiler tidak mengetahui sendiri, di situlah file Anda yang lain.
BTW, jika Anda menggunakan nama main.cpp untuk file teratas Anda, itu harus memanggil fungsi setup () dan loop () (dan fungsi acara serial, jika Anda menggunakannya). Mungkin lebih baik membiarkan nama 'main' saja, biarkan sistem menyediakan main yang sama setiap program Arduino secara default, dan tulis kode proyek Anda dengan cara Arduino yang khas - dimulai dengan setup () dan loop ().
myproj.cpp
, Maksudmumyproj.ino
? Karena saya tidak melihat di manamyproj.cpp
!Ketika Anda memiliki proyek yang terdiri dari sejumlah
.INO
file, bagaimana IDE seharusnya tahu yang mana yang "utama"? Selama kompilasi, IDE menggabungkan semua.INO
file menjadi satu file monolitik. Ini melakukan ini dimulai dengan yang "utama" dan kemudian menambahkan masing-masing yang lain sesuai abjad sampai akhir.Hal ini dilakukan dengan cara ini sehingga Anda termasuk dan variabel global, yang harus Anda masukkan dalam
.INO
file "utama" Anda , berada di awal program selesai.Untuk melakukan ini, IDE harus mengetahui file mana yang merupakan "utama". Dan cara kerjanya adalah dengan menemukan satu yang diberi nama sama dengan folder tempat sketsa berada.
Di UECIDE saya mengambil satu langkah lebih jauh dan mengubah seluruh folder menjadi dokumen majemuk sehingga Anda tidak lagi harus memasukkan folder dan membuka
.INO
file untuk membuka sketsa - folder yang sebenarnya adalah seluruh proyek sketsa. Sekali lagi jenis folder ini diidentifikasi memiliki.INO
file di dalamnya yang bernama sama dengan folder.sumber