2012-10-12 11 views
9

MacにはRXTXがインストールされています。 Java JARプログラムとArduinoソフトウェアの両方で、ArduinoがUSBモデムとして認識されていれば、両方ともシリアルポートを開こうとするとポートが「使用中」であると主張します。どちらも「不明なユーザー」と主張しています。私はrxtxcomm.jarをJava Extensionsに持っています。MacのRxTx - 既に使用中のシリアルポート

これらのいずれかを動作させるにはどうすればよいですか?

答えて

24

OS Xには、シリアルポートにある種の除外メカニズムがあります。 MacBookにはシリアルポートはありませんが、USBポートはそれらをエミュレートします。 Arduinoが接続されると、ポートリストに「/dev/tty.usbmodem ...」と表示されます。ここで、...は末尾の数字です。

ポートがビジー状態であると言われているのは、標準I/Oの例外で、アクセスできなかったということです。現在の所有者がいないため、現在の所有者は未定義です。所有権を取得するためにディレクトリにアクセスする必要がありませんでした。

sudo mkdir /var/lock 
sudo chmod a+rw /var/lock 

は、これは必要なディレクトリを作成し、それがアクセスできるようになります:Appleの端末を使用した

は、次の操作を行います。シリアルポートは、他の何かが本当にそれを使用しているのでなければ、もはやビジーではありません!

+0

ありがとうございました!非常に良い答え! –

+0

あなたは主人公です、thxn! – Chris

0

troubleshooting, Mac OS Xの下にRXTXサイトに関する情報があります。それらにはfixperm.shという実行可能なシェルスクリプトがあり、そのアクセス許可は/var/lock/に変更されています。 FHS siteには、/var/lockに関する詳細があります。

1

processing.app.SerialException:シリアルポート '/dev/tty.usbmodem ...'が既に使用中です。それを使用している可能性のあるプログラムを終了してみてください。

これは私の外付けUSB HDDも接続されているときに起こります。接続を解除すると、Arduinoのアップロードプロセスが正常に動作します。

+0

私のUSBスティック(flashdrive)を取り外して問題を解決しました。 '/ var/lock'は少なくとも1つだけで問題を解決してくれなかったので、ありがとう。 –

関連する問題