0

我是 Arduino 新手,我遇到的一件事是这个名为 Embedxcode 的酷工具,它基本上允许您从 Xcode 而不是普通的 Arduino 编译器在 Arduino 上编译和运行草图。

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

我让 Embedxcode 工作(Arduino 代码可以编译并上传到开发板),但我无法让 Objective-C 工作。如,我无法创建一个新的 Objective-C 类来传递数据,而 Xcode 不会给我错误(不,将 C++ 文件重命名为 .mm 不起作用)。

有谁知道如何解决这个问题?或者有没有更好的方法让 Arduino 直接与 OSX 事件交互?

4

2 回答 2

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 手册页,支持 Objective-C。虽然,完成这项工作需要远离舒适的 Arduino 工作区。

于 2012-12-23T19:58:54.643 回答
0

您似乎误解了 Arduino 和微控制器 <-> PC 的关系。Arduino(和任何微控制器)是一台运行自己的微型操作系统的小型独立计算机。因此,鉴于此,您的问题是:我如何让一台计算机与另一台计算机通信。

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

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

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

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

查找教程的关键搜索词:Arduino 串口处理

于 2012-12-24T01:28:41.843 回答