找不到COM端口和端口列表为空

时间:2014-09-03 15:06:14

标签: java macos arduino port rxtx

嘿,我想将用Java编写的eclipse程序与Arduino连接起来。以前我使用Processing但现在我正在处理更困难的事情:我将Leap连接到Arduino,但当我尝试连接到我的端口时,我收到以下消息。

我正在使用Mac,我在处理中使用的端口是tty.usbserial-AM01VBFC

但是,这不适用于:http://playground.arduino.cc/interfacing/java

的给定示例

我改变了这个以匹配我的端口:

private static final String PORT_NAMES[] = { 
        "/dev/tty.usbserial-AM01VBFC", // Mac OS X
                    "/dev/ttyACM0", // Raspberry Pi
        "/dev/ttyUSB0", // Linux
        "COM3", // Windows
};

结果是:

Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version   = RXTX-2.1-7
Could not find COM port.
Started

我认为端口列表是空的,因为:

portEnum.hasMoreElements()

是假的。

完整的代码可以在上面的链接中找到,我唯一改变的是Mac OS X的端口名称。

我发现只有一个人有同样的问题,他找到了ubuntu的解决方案我不明白:http://forum.arduino.cc/index.php?topic=73350.0;wap2

希望得到一些帮助, 的Georgi

3 个答案:

答案 0 :(得分:5)

我找到了解决问题的方法:

System.setProperty("gnu.io.rxtx.SerialPorts", "/dev/tty.usbArduino");

上面的行必须被注释掉,您必须删除锁定文件才能获得“全新”的USB连接!

感谢所有答案引导我走向正确的道路!

编辑:它是“/dev/tty.usbArduino”,因为我制作了我的端口的符号链接!之后我删除了符号链接

答案 1 :(得分:0)

按照Tim的建议打印端口,运行:

ls /dev/tty.*
终端中的

这应该让你仔细检查" /dev/tty.usbserial-AM01VBFC"实际上是正确的名称。

如果在设备连接时没有以tty.usbserial为前缀,请尝试:

  1. 安装FTDI VCP driver
  2. 只有当1不工作并且您正在使用Mavericks尝试卸载Apple的FTDI驱动程序时:sudo kextunload -b com.apple.driver.AppleUSBFTDI(请注意,每次OSX启动需要执行一次)< / LI>

答案 2 :(得分:0)

电缆有两种类型:

  1. 充电线
  2. 数据传输电缆

因此,如果您尝试过每个USB驱动程序和端口,请尝试更换电缆。

否则,请使用此链接http://www.wch.cn/download/CH341SER_MAC_ZIP.html

安装驱动程序

安装后,如果仍然无法工作,请更换电缆。

更换电缆后对我有用。