Pessoal,
Preciso ler bytes vindo de um equipamento de medição, já visitei vários tópicos e consegui implementar algumas classes e ler dados atravez da porta serial usando a API Javacomm e RXTXcomm, porem estou com dificuldade de interpretar os bits, acredito que seja devido a forma de leitura.
O equipamento emite um bloco de 8 bytes a cada segundo, os dados são binários, lendo da forma abaixo é correto para preencher o array de bytes?
InputStream in = serialPort.getInputStream();
byte[] buffer = new byte[8];
while ((len = this.in.read(buffer)) > -1)
Quando eu acesso as posições do array pelo metodo abaixo não confere com a especificação que tenho.
public void imprime(byte b){
int mask = 1 << 7;
for ( int bit = 1; bit <= 8; bit++ )
System.out.print(( b & mask ) == 0 ? '0' : '1');
b <<= 1;
}
Tentei ser breve, se alguem puder me ajudar fico grato, preciso de aprender muito ainda.