我在蘋果機上安裝了RXTX。如果我們嘗試打開串口,Java JAR程序和Arduino軟件都會將Arduino看作是USB調制解調器(如果它們都聲稱該端口「已在使用中」)。兩者都聲稱「未知用戶」。我在Java擴展中有rxtxcomm.jar
。Mac上的RxTx - 串口已經在使用
我該如何得到這些工作?
我在蘋果機上安裝了RXTX。如果我們嘗試打開串口,Java JAR程序和Arduino軟件都會將Arduino看作是USB調制解調器(如果它們都聲稱該端口「已在使用中」)。兩者都聲稱「未知用戶」。我在Java擴展中有rxtxcomm.jar
。Mac上的RxTx - 串口已經在使用
我該如何得到這些工作?
OS X在串行端口上有某種排除機制。 MacBook沒有任何串行端口,但USB端口模擬它們。當Arduino連接起來時,它會在端口列表中顯示爲「/dev/tty.usbmodem ...」,其中...
是一些尾部數字。
當說端口很忙時,這是一個標準的I/O異常,這意味着我們無法訪問。目前的擁有者沒有定義,因爲目前沒有擁有者。我們只是沒有對目錄的所需權限。
使用蘋果終端,做到以下幾點:
sudo mkdir /var/lock
sudo chmod a+rw /var/lock
這將創建所需的目錄,並可以對其進行訪問。串口不再繁忙,除非有其他的東西真的在使用它!
我在troubleshooting, Mac OS X下找到了RXTX網站上的一些信息。他們有一個可以運行的shell腳本,名爲fixperm.sh
,它改變了/var/lock/
的權限。 FHS site有關於/var/lock
的更多信息。
processing.app.SerialException:串行端口'/dev/tty.usbmodem ...'已被使用。嘗試退出可能正在使用它的任何程序。
這種情況發生在我連接外部USB硬盤時。當我斷開它時,Arduino的上傳過程就像它應該那樣工作。
刪除我的USB記憶棒(閃存盤)解決了我的問題。感謝您發佈信息,至少單獨使用'/ var/lock'似乎沒有解決問題。 –
非常感謝!非常好的答案! –
我是英雄,thxn! – Chris