是否可以在PlatformIO(Atom)的src文件夹中有两个文件?

时间:2017-05-01 07:02:32

标签: c++ arduino atom-editor file-structure platformio

当我在PlatformIO(Atom的微控制器插件)的src文件夹中创建两个代码文件时,构建并上传到我的Arduino时出错。有没有办法在没有错误的情况下做到这一点?

我已经看过Robin Reiter的在线教程,它建议你可以这样做。

"PlatformIO - A Great Arduino IDE Alternative" - youtube scrn shot

当我尝试这个时,我得到一个错误。当我在src文件夹中只有一个文件时,程序运行正常。

  

错误:*** [.pioenvs / uno / src / flashLed2.ino.o]错误1

Atom with Platformio installed

注意:这是从Arduino IDE项目(.ino)导入的项目文件,但如果我创建项目,使用.cpp扩展名并将代码粘贴到文本文件中也会发生。

如何在一个项目中创建多个文件?

2 个答案:

答案 0 :(得分:2)

如果要从Arduino导入项目,请先将主文件重命名为main.cpp。使用文件中的extern和函数名称。参考给出的例子。假设你有两个文件,即main.cpp和someFuntion.cpp,你想从main.cpp中的someFunction.cpp调用函数,

someFunction.cpp

void someFunction() {
    int i = 0;
    i = i + 1;
}

main.cpp

#include "Arduino.h"
extern void someFunction();
void setup() {
}
void loop() {
    someFunction();
}

答案 1 :(得分:0)

问题在于您需要一个由Platformio编译的主文件。如果此其他文件是从主文件导入的,则它们就是库。

文件是否真的必须保留在/ src中?尝试将文件放入/ lib文件夹之类。

- /lib
  - /myLib
     - myLib.h
     - myLib.cpp