Arduino IDE 多文件开发

最近更新于 2024-05-05 12:31

如果写的东西很小可能一个文件也清晰明了,但是如果项目比较大,全部都写在一个文件里就显得很混乱,写到后面调试困难,后期维护也难,所以可以分文件开发。

1.测试环境

Arduino IDE 2.2.1

2.文件结构

Arduino IDE 项目必须有一个 .ino 文件,且“入口函数”(如下)必须在这个文件,另外 Arduino IDE 要求 .ino 文件的名字和所在的项目文件夹名字一样

void setup()
{

}

void loop()
{

}

然后项目的其它组成文件和一般 C++ 开发一样,源文件为 .cpp,头文件为 .h 或 .hpp,我看很多 Arduino 开源库的头文件是用的 .h,但是我还是喜欢按照 C++ 的习惯用 .hpp,以和 C 语言的 .h 相区分。
另外,如果源文件或者头文件用到了库函数或者库中定义的类型,需要包含 Arduino.h 文件,这个在 .ino 文件中会自动添加,但是外部使用就得自己包含了。

3.示例

file
用 Arduino IDE 打开 .ino 文件,会自动打开项目中的其它文件

这里写了一个简单的例子,在 module 中实现了两个函数。
头文件中声明函数原型,然后加上宏定义防止重复包含,这个和 C/C++ 开发一样,然后这里用到了 C++ 中的字符串数据类型 String,所以需要包含 Arduino.h 文件。
file

然后源文件写函数的实现,包含上声明函数原型的头文件
file

.ino 文件就正常写,因为用到了外部源码,需要包含自己写的头文件
file

编译上传
file

Arduino IDE 多文件开发
Scroll to top