Надеюсь найти здесь решение.
У меня есть контроллер, который использует протокол для конкретного приложения через UART, и этот протокол работает только со скоростью 14400 бит / с.
Мне нужно использовать Java-код для связи с этим контроллером через последовательный порт.
Но я использую API, который не поддерживает скорость 14400 бод, хотя они называют это стандартным !!.
Я пробовал использовать javax.comm и rxtx jar. Нет никакого реального hel, поскольку они оба не поддерживают эту скорость передачи данных.
Может ли кто-нибудь помочь мне в этом отношении, это будет действительно полезно.
Спасибо!
Хорошо Вот фрагмент кода
selectedPort = (SerialPort) portID.open("FlashProgramming",
TIMEOUT);
System.out.println("port " + selectedPort + " is opened");
try {
selectedPort.setSerialPortParams(14400,
SerialPort.DATABITS_8, SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
// Здесь пытаемся установить скорость передачи 14400, но происходит откат до 9600, по умолчанию 14400 не поддерживается !!
}
// no handshaking or other flow control
try {
selectedPort.setFlowControlMode(SerialPort.FLOWCONTROL_NONE);
} catch (UnsupportedCommOperationException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// timer on any read of the serial port
try {
selectedPort.enableReceiveTimeout(TIMEOUT);
} catch (UnsupportedCommOperationException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.println("Comport Configeration is done");
try {
Serialdriver.in = selectedPort.getInputStream();
Serialdriver.out = selectedPort.getOutputStream();
System.out.println("i/p & o/p's are initialized");
Serialdriver.handlerParamselScreen.displaystatus("Seleted Com port "
+ selectedPort + " is Successfully opened");
}
selectedPort.addEventListener(Serialdriver);
selectedPort.notifyOnDataAvailable(true);
return selectedPort;
}