nodeBytes é um contagem de quantos bytes foram recebidos.
entrada é onde eu recebo os bytes da porta serial.
O trecho do código é esse:
entrada = porta.getInputStream();
porta tem a porta COM aberta.
nodeBytes é um contagem de quantos bytes foram recebidos.
entrada é onde eu recebo os bytes da porta serial.
O trecho do código é esse:
entrada = porta.getInputStream();
porta tem a porta COM aberta.
E entrada eh um array? Ele armazena bytes?
Eu perguntei para vc qual é o pacote e a classe dos objetos pq nao conheco os metodos de cada um e nem o que cada metodo retorna.
Vc pode colar os imports e a declaracao desses objetos?
Pelo que eu consegui entender o codigo que eu passei pra vc esta errado e vc nem precisaria do bufferLeitura.
Vou fazer o seguinte estou mandando em anexo o meu arquivo.
Assim fica mais fácil para vc entender o que eu fiz aqui.
Outra tentativa:
public void serialEvent(SerialPortEvent ev) {
switch (ev.getEventType()) {
case SerialPortEvent.BI:
case SerialPortEvent.OE:
case SerialPortEvent.FE:
case SerialPortEvent.PE:
case SerialPortEvent.CD:
case SerialPortEvent.CTS:
case SerialPortEvent.DSR:
case SerialPortEvent.RI:
case SerialPortEvent.OUTPUT_BUFFER_EMPTY:
break;
case SerialPortEvent.DATA_AVAILABLE:
try {
byte[] bufferLeitura = new byte[entrada.available()];
nodeBytes = entrada.read(bufferLeitura);
if (nodeBytes == 0) {
System.out.println("Nada lido!");
} else if (nodeBytes == 1) {
System.out.println("Apenas um byte foi lido!");
} else {
for (int i = 0; i < nodeBytes; i++) {
System.out.println("Elemento["+i+"] : " + bufferLeitura[i]);
}
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Erro durante leitura! STATUS: " + e, "Erro!", JOptionPane.ERROR_MESSAGE);
System.out.println("Erro durante a leitura: " + e);
}
System.out.println("n.o de bytes lidos : " + nodeBytes);
break;
}
}
Desculpe não poder ajudá-lo, mas estou curioso… para que exatamente você precisa disso?