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