在Arduino sketch文件夹中创建库

时间:2013-01-19 10:29:38

标签: c++ class arduino

我正在为一个项目创建一些类,这看起来非常具体,我不想保留在libraries文件夹中。它们大部分都在工作,但是,如果我想调用任何Arduino函数或consts,它将抛出错误“未在此范围内声明”。

草图:

#include "MyClass.h"
void setup(){
}
void loop(){
}

MyClass.h

class MyClass{
    public:
        MyClass(int inp);
        int myFun();
};

MyClass.cpp

#include "MyClass.h"
#include <WProgram.h>

MyClass::MyClass(int inp){
    pinMode(13,HIGH);

}

错误:

MyClass.cpp:'HIGH','pinMode'未在此范围内声明。

如果我把库放在库文件夹中就不会发生。想知道是否有办法将arduino函数包含在草图文件夹库中?

2 个答案:

答案 0 :(得分:0)

AFAIK除了在Arduino-lib文件夹中之外,没有办法在任何地方拥有你的库。如果使用unix,您可以将libs放在sketch文件夹中,并使用ln在Arduino-lib文件夹中创建指向这些库的链接。然后你也应该在IDE中看到它们

答案 1 :(得分:0)

实际上我只是通过查看另一个库来让它工作:P 而不是

 #include <WProgram.h>

我们应该使用

#if ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif

我认为这对后向兼容性有害......

关于在sketch文件夹中使用库的问题。然而,草图文件夹库存在一些潜在的问题。