Hallo Ich habe den folgenden Code:Serielle Schnittstelle Zuhörer nicht zurück Daten (JSSC)
if(!serialPort.isOpened()) {
// ouverture du port
serialPort.openPort();
System.out.println("JSSC -> initPort() : Ouverture du port");
//config billet
serialPort.setParams(SerialPort.BAUDRATE_9600, SerialPort.DATABITS_7, SerialPort.STOPBITS_1, SerialPort.PARITY_EVEN);
// on crée une ecoute sur le port pour recuperer la reponse
serialPort.addEventListener(new SerialPortEventListener() {
@Override
public void serialEvent(SerialPortEvent event) {
if(event.isRXCHAR() && event.getEventValue() > 0) {
try {
String dataReceived = serialPort.readHexString(event.getEventValue());
System.out.println("JSSC -> initPort() : Received response hexstring: " + dataReceived);
CashSorterSend.getInstance().renvoyerReponse(dataReceived);
System.out.println("----------------------------------");
}
catch (SerialPortException ex) {
System.out.println("JSSC -> initPort() : Error in receiving string from COM-port: " + ex);
}
}
}
});
}
Die Serial Port Daten Antwort senden, wenn ich eine Nachricht senden, wenn ich auf einen Knopf klicken. Aber ich würde Ich mag eine Nachricht wiederholen indefiny, mit dem folgenden Code:
// on declare la tache de fond qui interrogera la compteuse a billet
taskDetailBillets = new Task<Void>() {
@Override
protected Void call() throws Exception {
while (true) {
Thread.sleep(300);
CashSorterSend.getInstance().detailBillets();
}
}
};
// on demarre notre thread
threadDetailBillets = new Thread(taskDetailBillets);
threadDetailBillets.start();
und die folgenden Klasse:
public class DetailBillets implements Runnable {
@Override
public void run() {
System.out.println("DetailBillets -> run() : Thread DetailBillets");
try {
Thread.sleep(600);
JSSC.getInstance().sendMessage(Constants.COMMAND_HEXA_BILLET_DETAILS, true);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
Meine Probleme ist, dass die Port nicht Antwort senden ... Nachrichten werden unendlich im Thread gesendet, aber der Port sendet keine Antwort ... Es ist so schnell das Senden in einem Thread an den Port Antwort? Wie geloopte Nachrichten senden?
Danke und Entschuldigung für Fehler.