java - significa - separar datos serial arduino
Enviar matriz de bytes en el puerto serie poner fuera de la secuencia (1)
El terminal probablemente esté en modo de lectura de texto y no en modo de lectura binaria.
El 0x0A que se inserta después de cada 0x0D que envía es una conversión de retorno de carro.
El terminal convierte "/ r" en "/ r / n". Agrega un carácter de avance de línea a cada retorno de carro.
El terminal convierte cada 0D en 0D 0A.
Esta misma feature
se puede encontrar en el protocolo ftp. Le dice a su cliente cómo transferir archivos: en modo texto o binario.
cuando quiero enviar una matriz de bytes en la ruta del puerto serie con java, en el dispositivo de destino recibo un resultado diferente.
byte[] sendingPack = new byte[7];
sendingPack[0] = 0x6E;
sendingPack[1] = 0x55;
sendingPack[2] = (byte) 0x0D;
sendingPack[3] = (byte) (1 & 0x000000FF);
sendingPack[4] = 0x01;
sendingPack[5] = 0x0D;
sendingPack[6] = (byte) 0xAA;
getSendBuffer().getOutputStream().write(sendingPack);
sending array : byte[]{0x6E,0x55,0x0D,0x01,0x01,0x0D,0xAA}
receive result array : 6E 55 0D 0A 01 01 0D 0A AA
en el terminal CodeVisionAVR ¡recibo "0A" !! ¿¿Como puedó resolver esté problema??