1

我必须继续开发与一些串行外部设备通信的特定 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 代码。

你有什么想法可以在不重构的情况下完成这项工作吗?

4

0 回答 0