c – 为Arduino开发的Xcode
请仔细阅读以确保您了解我想要做的事情.
>我希望Xcode能够编译,但只有这样我才能在Xcode中调试. 我做了什么(也作为可能想要做同样事情的人的未来参考): >在项目设置中(单击左窗格中的项目文件) > /Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/lib/gcc/avr/4.3.2/include (如果您已在“应用程序”文件夹以外的位置安装了Arduino.app,则需要相应地调整路径.) 在main.cpp中,我已经包含了< WProgram.h>,但这还不够.我得到了未定义的标识符错误(对于SPCR,SPE,MSTR,SPR1,SPR0),因为无法将-mmcu = somechipname作为标志传递给编译器,这导致无法定义设备和avr / io.h无法包含定义这些符号的文件.我通过手动包括< avr / iom328p.h>来解决这个问题.这是我芯片的合适头文件. 那是我有多远. 现在我收到这些错误: Undefined symbols for architecture i386: "_init",referenced from: _main in main.o "_setup",referenced from: _main in main.o "_loop",referenced from: _main in main.o "_pinMode",referenced from: SBSetup() in main.o "_digitalWrite",referenced from: SBSetup() in main.o 整个main.cpp包括邪恶的违规代码是这样的: #include <WProgram.h> #include <avr/iom328p.h> // Getting around warning "device type not defined" #define NumLEDs 25 #define clockpin 13 // CI #define enablepin 10 // EI #define latchpin 9 // LI #define datapin 11 // DI int LEDChannels[NumLEDs][3] = {0}; int SB_CommandMode; int SB_RedCommand; int SB_GreenCommand; int SB_BlueCommand; void SBSetup(void) { pinMode(datapin,OUTPUT); pinMode(latchpin,OUTPUT); pinMode(enablepin,OUTPUT); pinMode(clockpin,OUTPUT); SPCR = (1<<SPE)|(1<<MSTR)|(0<<SPR1)|(0<<SPR0); digitalWrite(latchpin,LOW); digitalWrite(enablepin,LOW); } int main(void) { init(); setup(); for (;;) loop(); return 0; } 我对此有何看法? 解决方法
这两个很棒的引用让你可以设置XCode,不仅用于编译,还用于上传:
> http://www.quietless.com/kitchen/setting-up-xcode-to-compile-upload-to-an-arduino-atmega328-duemilanove/ 第一个解释了您需要的其他工具,第二个解释了XCode 4.2(和以前的版本)的项目模板. 我已经使用了它们并且它有效. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |