将数据从C 类传递到Xcode中的Objective-C类

Passing data from a C++ class to an Objective-C class in Xcode

本文关键字:Xcode 中的 Objective-C 数据      更新时间:2023-10-16

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

我之所以使用它的原因是因为我希望用户能够在arduino上执行某些操作(即按下按钮),并且计算机响应(即在Objective-C中调用某些功能)。据我所知,您无法从Arduino编译器中执行此操作,所以我决定使用Xcode,因为它可以编译Objective-C并使用OSX SDK。

我得到了工作的EmbedxCode(Arduino代码编译并上传到板上的罚款),但是我无法使Objective-C工作。与IN一样,我不能创建一个新的Objective-C类,以将数据传递到没有XCode的情况下,而不会给我错误(并且,将C 文件重命名为.mm不起作用)。

有人知道如何解决这个问题吗?还是有更好的方法可以使Arduino直接与OSX事件进行交互?

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页面,支持Objective-C。虽然,获得这项工作将需要蜿蜒从舒适的Arduino工作区。

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

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

要连接任意两台计算机,您有两个选择:通过电线或通过无线电波。有线选项是最容易实施和理解的。您在这里有两个选择,直接USB连接和以太网。USB是最容易实施和理解的,而Arduino的Barebones Arduino能够做到这一点。以太网需要加法的硬件。

无线选项将包括蓝牙,WiFi,XBEE收音机。这些效果很好,但实施并需要其他硬件很复杂。

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

查找教程的关键搜索术语:arduino串行端口处理