Отправьте «A» в виде байтового массива на коммуникационный порт, используя библиотеку портов javaSerial. - PullRequest
0 голосов
/ 13 июня 2018

Я пытаюсь отправить команду на барьер штанги, который подключен к '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 голосов
/ 13 июня 2018

Все, что я пропустил, было то, что я не закрыл терминал bray ++, который не позволял открывать порт связи.При записи в порт необходимо убедиться, что порт доступен.

...