如何用统一config.h文件轻松管理多板多Sketch的Arduino项目?
解决Arduino多Sketch共享统一config.h的问题
方法一:验证相对路径与文件细节
先确认config.h确实放在project根目录(即sketch_0、sketch_1等文件夹的父目录),然后在每个.ino文件中使用:
#include "../config.h"
注意几个易踩的坑:
- 文件名大小写:Linux/macOS系统区分大小写,要确保代码里的拼写和实际文件名完全一致(比如别把
config.h写成Config.h)。 - 排查编译错误:如果仍报错,先检查
config.h本身的语法(比如缺分号、括号不匹配)——有时候编译失败不是因为找不到文件,而是配置文件本身有问题。
方法二:采用项目内库方式(更稳定)
这种方式能彻底规避路径问题,适合长期维护:
- 在
project目录下创建libraries文件夹,再在里面新建一个Config文件夹(名称符合Arduino库命名规则即可)。 - 将
config.h移入project/libraries/Config/目录。 - 重启Arduino IDE,之后在每个
.ino文件里直接写:
#include <config.h>
Arduino IDE会自动识别项目内的库目录,所有sketch都能轻松引入配置文件。
方法三:手动添加编译包含路径(高级选项)
如果不想用库的方式,可修改Arduino编译配置,将项目根目录加入包含路径:
- 找到Arduino安装目录下的
hardware/arduino/avr/platform.txt(不同平台、开发板的路径会有差异)。 - 找到
compiler.c.flags或compiler.cpp.flags行,在末尾添加-I"{runtime.platform.path}/../../../../project"(路径需根据你的实际项目位置调整,确保指向project根目录)。 - 保存后重启IDE,之后就能用
#include <config.h>直接引入配置文件。
注意:此方法不推荐新手使用,Arduino IDE更新后配置会被重置,跨设备移植也很麻烦。
内容的提问来源于stack exchange,提问作者Tommaso Clini
相关产品推荐
相关产品推荐

