2012-12-23 44 views
0

我是Arduino的新手,我碰到的一件事是名为Embedxcode的很酷的工具,它基本上允许您从Arduino上编译和运行草图Xcode,而不是来自普通的Arduino编译器。将数据从C++类传递到Xcode中的Objective-C类

我使用这个的原因是因为我希望用户能够在Arduino上执行某些操作(即按下按钮)并且计算机响应(即在Objective-C中调用某个函数)。因为据我所知你不能从Arduino编译器那里做到,所以我决定使用Xcode,因为它可以编译Objective-C并使用OSX SDK。

我得到了Embedxcode的工作(Arduino代码编译并上传到主板罚款),但我无法得到Objective-C的工作。正如所说的,我无法创建一个新的Objective-C类来传递数据,而Xcode不会给我提供错误(并且不会,将C++文件重命名为.mm不起作用)。

有人知道如何解决这个问题吗?还是有更好的方式让Arduino直接与OSX事件交互?

+3

embedXcode允许嵌入式开发使用的Xcode IDE的,但是这不包括OS X SDK或OS X编译工具链。您仍在使用AVR工具链,但前面的Xcode用于管理项目。这就是说,你仅限于avr-gcc和avr-g ++,没有Objective-C。可以在C++和Objective-C类之间传递数据,但不能在您所指的上下文中传递数据。 – jtomschroeder

+0

Oooohhhh好的,我明白了。有什么办法可以解决这个问题吗?你有什么其他想法可以做到这一点? –

+0

将答案移至回答部分。 – jtomschroeder

回答

0

看来你好像是误解了Arduino,和微控制器< - > PC的关系。 Arduino(以及任何微控制器)是一台运行其自己的小型操作系统的小型独立计算机。所以你的问题就是:我如何让一台电脑与另一台电脑通话。

IDE(XCode,Arduino环境等)与此无关。这些只是编写和编译代码的工具,并将其上传到Arduino处理器。

要连接任何两台电脑,您有两种选择:通过电线或无线电波。有线选项是最容易实现和理解的。您有两种选择,直接USB连接和以太网。 USB是最容易实现和理解的,Arduino能够做到这一点。以太网需要额外的硬件。

无线选项将包括蓝牙,WiFi,XBee无线电。这些工作很好,但实施起来很复杂,需要额外的硬件。

所以...我建议你从USB开始。那里有很多教程。在OSX方面,您需要编写一些软件与Arduino进行通信。这可能是用ObjectiveC或Java编写的应用程序(例如使用Processing)或Python或其他任何编程语言编写的应用程序。我建议处理,因为有很多Arduino < - >在网上处理教程。寻找教程

关键搜索词:Arduino serial port Processing

+0

完美!这导致了我正在寻找的东西!对于任何未来的观众,我发现本教程特别有用:[Arduino Serial Communication Tutorial](http://www.varesano.net/blog/fabio/serial-communication-arduino-and-processing-simple-examples-and-arduino基-手柄-INT) –

1

embedXcode允许使用Xcode IDE进行嵌入式开发,但这不包括OS X SDK或OS X构建工具链。您仍在使用AVR工具链,但前面的Xcode用于管理项目。这就是说,你仅限于avr-gcc和avr-g ++,没有Objective-C。可以在C++和Objective-C类之间传递数据,但不能在您所指的上下文中传递数据。编辑:如果你真的想使用Objective-C和Arduino,我建议研究avr-gcc和Objective-C。根据avr-gcc man page,支持Objective-C。尽管做这项工作需要摆脱舒适的Arduino工作空间。

相关问题