AFAIK, đó là một cách giải quyết được tích hợp trong Arduino IDE. Cách giải quyết tốt nhất tôi có thể nghĩ đến là một cấu trúc tệp giống như:
ArduinoWorkspace --- /myproj/ ----+ /src/ --------+ myproj.cpp
+ myproj.ino + sensor.h
+ sensor.cpp
+ (more files)
, trong đó myproj.cpp chỉ #include
là main.cpp. Điều này sẽ để các tệp dự án của bạn "sạch" để chúng cũng hoạt động trong một môi trường điển hình hơn.
Cập nhật:
Tôi đã mượn tên "chính" từ câu hỏi của bạn, nhưng theo phản ánh, "chính" là một tên dành riêng, cụ thể, mọi chương trình C hoặc C ++ đều có mã main.c hoặc main.cpp làm mã cấp cao nhất, được cung cấp bởi hệ thống nếu bạn không cung cấp một cái. Vì vậy, tôi đã tránh sử dụng nó làm tên thư mục và tên dự án (nhưng cứ thoải mái thử nó) và tôi đã cập nhật sơ đồ. Những gì bạn cần là một thư mục dự án và một tệp .ino trong đó, cùng tên. Tệp .ino có thể
#include <src/anything-else-you-like>
, ví dụ, tệp mã cấp cao nhất của bạn, do đó kéo mọi thứ khác. Bạn có thể cần .ino của mình cho #include
từng tệp trong src
thư mục, nếu trình biên dịch không tự tìm ra, đó là nơi chứa các tệp khác của bạn.
BTW, nếu bạn sử dụng tên main.cpp cho tệp trên cùng của mình, nó sẽ phải gọi các hàm setup () và loop () (và hàm sự kiện nối tiếp, nếu bạn sử dụng tên đó). Có lẽ tốt nhất là để riêng tên 'chính', để hệ thống cung cấp cùng một chính mỗi chương trình Arduino được mặc định và viết mã dự án của bạn theo cách Arduino điển hình - bắt đầu bằng setup () và loop ().
myproj.cpp
ý bạn làmyproj.ino
sao Bởi vì tôi không thấy nó ở đâumyproj.cpp
!