在串口输出流上发送字节数组
Send byte array on serial port out put stream
当我想在 java 的串口流上发送字节数组时,在目标设备上我收到不同的结果!!!
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
在 CodeVisionAVR 终端上,我收到“0A”!!
我该如何解决这个问题??
终端可能处于文本读取模式而不是二进制读取模式。
你发送的每个0x0D后面插入的0x0A是回车return转换
终端将“\r”转换为“\r\n”。它为每个马车添加一个换行字符 return.
终端将每一个0D转换为0D 0A。
同样的 feature
可以在 ftp 协议中找到。您告诉您的客户如何传输文件:以文本或二进制模式。
当我想在 java 的串口流上发送字节数组时,在目标设备上我收到不同的结果!!!
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
在 CodeVisionAVR 终端上,我收到“0A”!! 我该如何解决这个问题??
终端可能处于文本读取模式而不是二进制读取模式。
你发送的每个0x0D后面插入的0x0A是回车return转换
终端将“\r”转换为“\r\n”。它为每个马车添加一个换行字符 return.
终端将每一个0D转换为0D 0A。
同样的 feature
可以在 ftp 协议中找到。您告诉您的客户如何传输文件:以文本或二进制模式。