2014-09-03 327 views
1

嘿,我想用Arduino连接我用Java编写的eclipse程序。以前我使用过处理,但现在我正在处理更困难的事情:我将连接到Arduino,但当我尝试连接到端口时收到以下消息。找不到COM端口和端口列表为空

我使用的是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

盼望一些帮助, 格奥尔基

+1

您能列出您在连接Arduino的终端中运行“ls /dev/tty.*”时看到的内容吗? – 2014-09-03 15:55:45

回答

5

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

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

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

感谢所有的答案,让我以正确的方式!

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

+0

这解决了我无法在rxtx中打开/ dev/ttyAMA0时遇到的问题,同时能够在pi4j中执行此操作。 – barbazoo 2016-06-19 02:37:35

0

关注Tim的建议和打印端口,运行:

ls /dev/tty.* 

在终端。这应该允许您仔细检查“/dev/tty.usbserial-AM01VBFC”是否实际上是正确的名称。

如果没有通过tty.usbserial前缀,而你的设备连接试试这个:

  1. 安装FTDI VCP driver
  2. 只有1不起作用,你用小牛尝试卸载苹果FTDI驱动程序:sudo kextunload -b com.apple.driver.AppleUSBFTDI(注意,这需要为每OSX启动一次)