2012-12-23 102 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工作空間。

相關問題