0

私はArduinoを初めて使用しますが、Embedxcodeと呼ばれるこのクールなツールを使用すると、基本的に、通常のArduinoコンパイラではなくXcodeからArduinoでスケッチをコンパイルして実行できます。

私がこれを使用している理由は、ユーザーがArduinoで何かを実行できるようにし(つまり、ボタンを押す)、コンピューターが応答する(つまり、Objective-Cで関数を呼び出す)ためです。私の知る限り、Arduinoコンパイラからはそれができないので、Objective-CをコンパイルしてOSX SDKを使用できるため、Xcodeを使用することにしました。

Embedxcodeを機能させました(Arduinoコードはコンパイルされてボードに正常にアップロードされます)が、Objective-Cを機能させることができません。のように、Xcodeがエラーを出さずにデータを渡すための新しいObjective-Cクラスを作成することはできません(いいえ、C ++ファイルの名前を.mmに変更しても機能しませんでした)。

誰かがこれを解決する方法を知っていますか?または、ArduinoにOSXイベントと直接対話させるためのより良い方法はありますか?

4

2 に答える 2

1

embedXcodeを使用すると、組み込み開発にXcode IDEを使用できますが、これにはOSXSDKまたはOSXビルドツールチェーンは含まれていません。あなたはまだAVRツールチェーンを使用していますが、プロジェクトを管理するためにXcodeを前面に置いています。そうは言っても、Objective-Cではなくavr-gccとavr-g++に制限されています。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プロセッサにアップロードするための単なるツールです。

2台のコンピューターを接続するには、ワイヤーまたは電波の2つのオプションがあります。有線オプションは、実装と理解が最も簡単です。ここには、直接USB接続とイーサネットの2つのオプションがあります。USBは実装と理解が最も簡単で、Arduinoの最低限の機能がこれを実現します。イーサネットには追加のハードウェアが必要です。

ワイヤレスオプションには、Bluetooth、WiFi、XBeeラジオが含まれます。これらはうまく機能しますが、実装が複雑で、追加のハードウェアが必要です。

だから...私はあなたがUSBから始めることをお勧めします。そこには多くのチュートリアルがあります。OSX側では、Arduinoと通信するためのソフトウェアを作成する必要があります。これは、ObjectiveC、Java(たとえば、Processingを使用)、Python、またはその他のプログラミング言語で記述されたアプリである可能性があります。Web上にはArduino<->処理のチュートリアルがたくさんあるので、処理をお勧めします。

チュートリアルを見つけるための主な検索用語:Arduinoシリアルポート処理

于 2012-12-24T01:28:41.843 に答える