コードが複数のファイルにある場合、Arduino のコードをコンパイルする際に問題が発生します。私が過去に行ったことは、別のディレクトリにあるファイルとmakeそこにあるプロジェクトをスクリプトで連結することです。すべてが正しい順序で定義されていることを確認するなどの手間をかけずに、ビルド フォルダーから直接コンパイルできるようにしたいと考えています。
avrdudeArduino IDE がウィンドウ マネージャーでうまく動作しないため、Linux コマンド ラインからコンパイルするために使用しています。複数のファイルで作成すると (適切な#includeステートメントを使用すると、次の性質のエラーが発生しますが、すべてのメソッドと変数について.
./../lib/motor.ino:3:21: error: redefinition of ‘const long unsigned int MOVE_DELAY’
./../lib/motor.ino:3:21: error: ‘const long unsigned int MOVE_DELAY’ previously defined here
使用される唯一の他の場所MOVE_DELAYはvoid loop()関数内であり、そこで再定義されません。コードを 1 つのファイルに連結してmakeそのディレクトリで実行すると、コードは正常にコンパイルされますが、インクルードを含む別のファイルにある場合はコンパイルされません。