2012-05-10 9 views
1

Arduinoインターフェイスにシリアル接続でコマンドをリッスンして送信するための小さなアプリケーションをosxとして作成しています。それはAMSerialPortを使って素晴らしい作品です。AMSerialPort:1つのプロジェクトで2つのポートを使用する

しかし今では、データを2番目のArduinoに転送する必要があるため、2番目のシリアル接続が必要です。

これはこのフレームワークで可能ですか?私は第二の港を開き、代表者を通して情報を得る方法をほとんどどこからでも探しました。

答えて

0

AMSerialPortに関してこの質問に本当に答えることはできません。過去にAMSerialPortを多く使用しましたが、それはしばらくしていましたが、2つのポートを開こうとしたことはありませんでした。しかし、私は自分のObjective-Cシリアルポートライブラリをリリースしました。これは、同時に複数のポートを開くことをサポートしています。これはORSSerialPortと呼ばれ、https://github.com/armadsen/ORSSerialPortで取得できます。

ORSSerialPortを使用して2つのシリアルポートを開く方法はありません。 ORSSerialPortManagerのavailablePortsプロパティを使用して、システム上で使用可能なすべてのポートを取得します。 serialPort:didReceiveData:代理人メソッドでは、データを受信したポートを確認できます。このようなもの:

NSArray *availablePorts = [[ORSSerialPortManager sharedSerialPortManager] availablePorts]; 

// The next two lines are simplified by assuming availablePorts has two ports 
// and you don't care which is which. Real code will be more sophisticated 
self.port1 = [availablePorts objectAtIndex:0]; 
self.port2 = [availablePorts objectAtIndex:1]; 

self.port1.delegate = self; 
self.port2.delegate = self; 

[self.port1 open]; 
[self.port2 open]; 

- (void)serialPort:(ORSSerialPort *)port didReceiveData:(NSData *)data 
{ 
    if (port == self.port1) { 
     // Data is from port1 
    } else if (port == self.port2) { 
     // Data is from port2 
    } 
} 
関連する問題