这应该是一个简单的问题。我正在尝试将代码拆分为草图中的两个文件:
test.ino:
void setup(){}
void loop(){ fn(); }
test.c的:
char myChar = '?';
void fn(){ myChar++; }
我尝试过使用带有各种配置的test.h文件,例如使用以下行:
extern char myChar;
,char myChar;
void fn();
extern void fn();
包括test.c和test.h文件在不同文件中的各种组合,但我总是得到一个编译器错误或其他,例如:
test.cpp.o :(。data.myChar + 0x0):`myChar'的多重定义
test.c.o :(。data.myChar + 0x0):首先在这里定义
或者
test.cpp.o:在函数`setup'中:
C:\ Program Files \ arduino-1.0.4 / test.ino:4:未定义对`fn()'的引用
我真的用这个把头发拉了出来。任何帮助将不胜感激
答案 0 :(得分:4)
Arduino IDE真正适合初学程序员。随着您变得更好,您可能希望转而使用更传统的编程工具。
Arduino项目实际上只是c / c ++应用程序。在这方面,您拥有整个c / c ++社区。他们最喜爱和最受鄙视的工具之一叫做make。您可以使用它部署和构建项目。这是一个很好的起点。 http://ed.am/dev/make/arduino-mk/arduino.mk
答案 1 :(得分:1)