使用javaSerial端口库以字节数组的形式将'A'发送到comm端口

时间:2018-06-13 14:32:34

标签: java string serial-port byte comm

我正在尝试将命令发送到连接到'COM1'的悬臂屏障,它具有波特率 - > 9600,奇偶校验 - >无,数据位 - > 8,停止位 - > 1.我正在尝试以下代码,但无法发送命令。请帮帮我。

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.charset.StandardCharsets;

import com.fazecast.jSerialComm.SerialPort;

public class BoomBarrierUsingJavaSCLib {

    public static void main(String[] args) {
        SerialPort comPort = SerialPort.getCommPorts()[0];
        //System.out.println(SerialPort.getCommPorts().length);
        comPort.openPort();
        comPort.setComPortTimeouts(SerialPort.TIMEOUT_READ_SEMI_BLOCKING, 100, 0);

        comPort.setComPortTimeouts(1000, 1000, 1000);
        System.out.println("Written to Comport: "+comPort.writeBytes("A".getBytes(),"A".getBytes().length));
        comPort.closePort();
    }

}

但是我得到以下输出:写入Comport:-1 理想情况下,它应该返回在通信端口上写入的字节数。 -1表示没有写入任何内容。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我错过的只是,我没有关闭不允许通讯端口打开的bray ++终端。写入端口时,有必要检查端口是否可用。