我必须继续开发与一些串行外部设备通信的特定 java 嵌入式项目。
以前的开发是使用 Windows 完成的,现在我尝试使用 Ubuntu 运行它。使用此代码时,我遇到了一些端口问题:
String comport = Gateway.config.getHardwareRevision() <= 1 ? "com0" : "com1";
String ports = System.getProperty("microedition.commports");
log.log("---available PORTS: " + ports);
serial = (CommConnection) Connector .open("comm:" + comport + ";blocking=on;baudrate=" + BAUD_RATES[baudrate]
+ ";autocts=off;autorts=off");
inStream = serial.openInputStream();
outStream = serial.openOutputStream();
基本上我将我的 USB 连接到串行电缆,注意到 Ubuntu 正在为其分配端口/dev/ttyUSB0
,所以我将代码更改为:
`String comport = Gateway.config.getHardwareRevision() <= 1 ? "/dev/ttyUSB0" : "com1";`
因为硬件版本 <=1 所以它应该加载这个端口。不幸的是,经过多次尝试,我仍然收到:
Could not find serial port /dev/ttyUSB0
java.io.IOException: gnu.io.NoSuchPortException
at javax.microedition.io.SerialConnection.open(SerialConnection.java:57)
at javax.microedition.io.SerialConnection.<init>(SerialConnection.java:19)
at javax.microedition.io.Connector.open(Connector.java:43)
at javax.microedition.io.Connector.open(Connector.java:13)
如果使用 Linux 进行开发,我读到了一些我必须使用RXTX的东西,但我不敢相信我应该仅仅因为我改变我的开发环境就重写 java 代码。
你有什么想法可以在不重构的情况下完成这项工作吗?