在非ino文件中包含arduino库

时间:2015-01-29 21:25:29

标签: c++ arduino header-files arduino-ide

我比Arduino IDE的.ino文件更大。所以,我决定将它全部分成各种.h.cpp文件。我希望通过使用Arduino IDE来编译和上传我的程序来避免创建makefile的麻烦,所以我将 main 文件保留为.ino,其中只包含各种标题并调用其中定义的函数。这一切都很好;但是,我想在我分成.h.cpp个文件的文件中使用SPI和Keyboard / Mouse / Usb库。

我可以从任何这些文件中#include <Arduino.h>,但我不能包含下面的任何标题,这些标题是包含键盘和SPI库所需的:

#include <address.h>
#include <adk.h>
#include <confdescparser.h>
#include <hid.h>
#include <hidboot.h>
#include <hidusagestr.h>
#include <KeyboardController.h>
#include <MouseController.h>
#include <parsetools.h>
#include <Usb.h>
#include <usb_ch9.h>
#include <SPI.h>

#include <whatever.h>不在主.ino文件中时,任何人都知道如何让Arduino IDE获取这些标题?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

这可能是这个问题的重复:

Arduino: Can import library in ino, but not in C++

我的回答是:

这是Arduino IDE的一些 magic

您使用的是1.0.6还是测试版1.5.X

谷歌小组正在讨论这类问题,并且应该在不久的将来修复。

与此同时,您可以尝试Bare Arduino Project

我们的想法是远离IDE,按照您的意愿组织您的项目,并使用您喜欢的文本编辑器,如vim或sublimetext,以及代码完成和错误检查。

如果您在使用它时遇到任何问题,请随时在Github上填写问题;)