Gente eu estou desenvolvendo uma aplicação aqui que precisa ler dados da porta serial.
Eu estou utilizando uma classe interna que estende Thread pra receber os dados da porta e atualizar algumas coisas no meu programa.
Mas o problema é que Enquanto a Thread esta lendo da porta serial eu não consigo enviar nada pra porta, por ex:
-Thread rodando e lendo da porta e ao mesmo tempo o usuário clica num botão que precisa enviar algum dado pra porta...
Nesse caso se ao mesmo tempo que a Thread esta lendo e o usuario envia algo pra porta, muitas vezes a ação que o usuario fez não funciona.......
ALguem pode me dar uma ajuda ??
Implementacao da Thread:
private class ReadStatus extends Thread {
public boolean isWait = false;
void setWait(boolean f) {
isWait = f;
}
@Override
public void run() {
while (true) {
synchronized (this) {
while (isWait) {
try {
wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
serial.writeOnPort("test1");
serial.writeOnPort("test2");
serial.writeOnPort("test3");
serial.writeOnPort("test4");
serial.writeOnPort("test5");
serial.writeOnPort("test6");
String[] status = { serial.readFromPort(), serial.readFromPort(), serial.readFromPort(), serial.readFromPort(),
serial.readFromPort(), serial.readFromPort() };
jl1.setText(status[0]);
jl2.setText(status[1]);
jl3.setText(status[2]);
jl4.setText(status[3]);
jl5.setText(status[4]);
jl6.setText(status[5]);
}
}
}
Nesse caso aqui eu preciso enviar um dado pra porta, pro equipamento me responder.