Galera, tenho um projeto implementado com microcontroladores que se comunicam com o pc pro RS232, tenho o software em C esta perfeito, mas estou tentando migrar pra JAVA, mas estou tendo um problema, eu envio os dados através da aplicação em JAVA perfeito, mas pra receber, a maquina me da um feedback se o comando foi aceito ou não, no caso de comando valido ela retorna o inteiro 2, mas no java eu envio e quando recebe, as vezes recebe do 2 e as vezes outros careceres qualquer, e as vezes ele perde o feedback e fica a espera do próximo, o que me impede de enviar novo comando, meu código esta assim para testes.
import javax.swing.Timer;import jssc.SerialPort;import jssc.SerialPortException; public String comm() { try { serialPort.openPort(); serialPort.setParams(9600, 8, 1, 0); buffer = serialPort.readString(tamanho); serialPort.closePort();//Close serial port } catch (SerialPortException ex) { System.out.println(ex); } return buffer; }
essa é a parte da recepção!
Se alguém puder me dar uma diga ja seria bem util!
Valeu ai galera
Consegui resolver, usei threads, assim ele fica buscando sempre, então eu só filtro o que preciso, ta ai o código cado alguém precise um dai sei la.
public void com(){ // controle de feedback new Thread() { @[member="override"] public void run() { while (true) //busca sempre { buffer = null; try { buffer = serialPort.readString(tamanho); } catch (SerialPortException ex) { System.out.println(ex); } if (buffer.equals("2")) // busca o valor que preciso controle = 2; try{Thread.sleep(1);}catch(InterruptedExceptionex){} //delay } } }.start(); }