Mac 上的 RxTx - 串行端口已在使用中
Posted
技术标签:
【中文标题】Mac 上的 RxTx - 串行端口已在使用中【英文标题】:RxTx on Mac - Serial port already in use 【发布时间】:2012-10-12 20:24:04 【问题描述】:我在 Mac 上安装了 RXTX。如果我们尝试打开串行端口,Java JAR 程序和 Arduino 软件都将 Arduino 视为 USB 调制解调器。两者都声称端口“已在使用”。两者都声称“未知用户”。我在 Java 扩展中有 rxtxcomm.jar
。
如何让其中任何一个工作?
【问题讨论】:
Mac 上的 arduino dev 最常见的问题之一。您说两种软件都可以看到它,但一次只能使用它 - 因此请确保在运行 Java 代码之前关闭 Arduino IDE 上的串行监视器,反之亦然! 【参考方案1】:OS X 在串行端口上有某种排除机制。 MacBook 没有任何串行端口,但 USB 端口可以模拟它们。连接 Arduino 后,它在端口列表中显示为“/dev/tty.usbmodem...”,其中...
是一些尾随数字。
当说端口繁忙时,这是一个标准的I/O 异常,这意味着我们无法访问。当前所有者未定义,因为没有当前所有者。我们只是没有获得所有权所需的目录访问权限。
使用 Apple 终端,执行以下操作:
sudo mkdir /var/lock
sudo chmod a+rw /var/lock
这将创建所需的目录并使其可访问。串口不会再忙了,当然除非真的有别的东西在使用它!
【讨论】:
【参考方案2】:processing.app.SerialException:串行端口“/dev/tty.usbmodem ...”已在使用中。尝试退出任何可能正在使用它的程序。
当我的外部 USB 硬盘也连接时,我会发生这种情况。当我断开它时,Arduino 的上传过程会正常工作。
【讨论】:
移除我的 U 盘(闪存驱动器)解决了我的问题。感谢您发布该消息,因为/var/lock
至少单独似乎无法解决问题。【参考方案3】:
我在 RXTX 网站的troubleshooting, Mac OS X 下找到了一些信息。他们有一个可以运行的名为fixperm.sh
的shell 脚本,它可以更改/var/lock/
的权限。在FHS site 上有更多关于/var/lock
的信息。
【讨论】:
以上是关于Mac 上的 RxTx - 串行端口已在使用中的主要内容,如果未能解决你的问题,请参考以下文章