Rxtx / commapi

2 respostas
heatcold
int numBytes = 0;
 
try {
        while (inputStream.available() > 0) {
                buff[numBytes] = (byte) inputStream.read();
                System.out.println("r " + numBytes + " " + ((int) buff[numBytes]));
                numBytes++;    
        }           
}
} catch (IOException e) {
        System.out.println("[COMM] ERRO READ");
}

A saida desse código é:
r 0 0
r 1 1
r 2 0
r 0 -1
r 0 17
r 1 -92

Deveria ser:
r 0 0
r 1 1
r 2 0
r 3 -1
r 4 17
r 5 -92

Existe um atraso na leitura dos bytes, que faz com que ele saia do while e entre novamente quando Data_Available for chamado novamente.
Preciso fazer com q ele tolere esse atraso. (5 milli)
Alguem pode me ajudar?

2 Respostas

V

Deixe-me ver se entendi… existe um atraso na leitura, e o que deveria ser lido no while durante 1 execução está sendo lido por várias vezes… por isso q o proprio contador aparece “distorcido”. Como é preciso tolerar este atraso para que não seja necessário entrar varias vezes no metodo para fazer está leitura, por que vc não utiliza um metodo sleep e forçar uma espera quando for feita a leitura.

Se eu estiver falando besteira ou sugerindo algo fora do contexto me corrija…

abraços…

heatcold

Fiz um wait de 5 milli e o problema foi resolvido.
valeu!

Criado 27 de junho de 2008
Ultima resposta 27 de jun. de 2008
Respostas 2
Participantes 2