Já dei uma boa pesquisada na internet mas não consigo achar a solução para o meu problema.
Estou fazendo um projeto de iniciação científica, como sempre gostei muito de Java resolvi fazer o software para leitura de porta serial com a linguagem. O PC está conectado em uma placa com um PIC que tem um programa que foi escrito em C, e envia os dados da seguinte forma:
printf("%c%c%c%c%c", 105, 64,128,192,255);
Utilizo o RXTX, e os dados são lidos da seguinte forma (sendo NUM_CARACTERES quantos caracteres estou lendo):
byte novosDados[] = new byte[NUM_CARACTERES];
entradaAN.read(novosDados, 0, NUM_CARACTERES);
System.out.printf("\n");
for(int i = 0; i < novosDados.length; i++) {
novaString += ((char)(novosDados[i] & 0xFF));
System.out.printf("%d, ", (int) novaString.charAt(i));
}
Coma impressão obtendo os seguintes dados de saída:
232, 4, 8, 143, 0
E repentinamente os dados param de sair com um padrão e ficam desta maneira:
232, 4, 8, 159, 8
Ficam intercalando estas 2 linhas em seguida por um tempo:
252, 198, 252, 198, 252
198, 252, 198, 252, 198
E depois voltam aos dados iniciais não necessariamente na mesma ordem:
0, 232, 4, 8, 143
E voltam a intercalar nas duas linhas acima, nem sempre com os dados da linha na mesma ordem.
Preciso capturar novamente os valores inteiros enviados pela placa alguém pode me ajudar? Já estou quase indo para o C++ :(