Конфликт портов

Рейтинг: 3Ответов: 0Опубликовано: 21.02.2015

Всем доброго времени суток! Есть com-порт, который передает иногда данные, и есть программа, которая получает данные с ком-порта и пишет в лог.

Надо в параллельку подключится к ком-порту и получать данные.

Я пробую через JSSC.

SerialPort serialPort = new SerialPort("COM3");    
serialPort.openPort();    
serialPort.setParams(9600, 8, 1, 0);    
boolean flag = true;    
while(flag){
 System.out.println(serialPort.readString());
}
serialPort.closePort();

Естественно, пробовать на рабочей машине рискованно. На своей пишу в порт

SerialPort serialPort = new SerialPort("COM3");
        try {
            serialPort.openPort();
            serialPort.setParams(9600, 8, 1, 0);
            serialPort.writeString("This is a test string");
            serialPort.closePort();
        }
        catch (SerialPortException ex) {
            System.out.println(ex);
        }

Запускаю, естественно, вначале программу на чтение, а потом - на запись. Вот тут-то и происходит конфликт портов. Вторая программа пишет, что порт занят (занят-то он первой программой). Таким образом, я и на рабочей машине заблокирую порт и "секир мне голова".

Может, кто подскажет, как правильно реализовать параллельное получение данных с ком-порта?

Ответы

Ответов пока нет.