我在Mac上安装了RXTX。 Java JAR程序和Arduino软件都将Arduino视为USB调制解调器,如果它们声称端口“已在使用中”,如果我们尝试打开串行端口。两者都声称“未知用户”。我在Java Extensions中有rxtxcomm.jar
。
我如何让其中任何一个工作?
答案 0 :(得分:26)
OS X在串行端口上有某种排除机制。 MacBook没有任何串行端口,但USB端口模拟它们。当Arduino连接时,它在端口列表中显示为“/dev/tty.usbmodem ...”,其中...
是一些尾随数字。
什么时候说端口很忙,这是一个标准的I/O异常,这意味着我们无法访问。当前所有者未定义,因为没有当前所有者。我们只是没有获取所有权所需的目录访问权限。
使用Apple终端,执行以下操作:
sudo mkdir /var/lock
sudo chmod a+rw /var/lock
这将创建所需的目录并使其可访问。串口将不再繁忙,除非其他东西真正使用它!
答案 1 :(得分:1)
processing.app.SerialException:串口'/dev/tty.usbmodem ...'已在使用中。尝试退出可能正在使用它的任何程序。
当我的外置USB硬盘连接时,这种情况发生在我身上。当我断开连接时,Arduino的上传过程可以正常工作。
答案 2 :(得分:0)
我在troubleshooting, Mac OS X下的RXTX网站上找到了一些信息。他们有一个可以运行的shell脚本,名为fixperm.sh
,可以更改/var/lock/
的权限。 FHS site上有关于/var/lock
的更多信息。