本文介绍了发送字节数组串口出来放流上的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我想在使用Java串行端口流发送字节数组,目标设备上我收到不同的结果!

when I want to send byte array on serial port stream with java,on destination device I receive different result !!!

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!
我该如何解决这个问题?

on CodeVisionAVR terminal I receive "0A"!!how can I solve this problem??

推荐答案

终端可能是在文本阅读模式,而不是二进制读模式。

The terminal is probably in text reading mode and not in binary read mode.

这是每一个0X0D您发送电子邮件后插入的0x0A的是回车转换。

The 0x0A which is inserted after every 0x0D you send is a carriage return conversion.

终端转换为\\ r到\\ r \\ n。它增加了一个换行字符到每一个回车符。

The terminal converts "\r" to "\r\n". It adds a line feed char to every carriage return.

终端每0D到0D 0A转换。

The terminal converts every 0D to 0D 0A.

这同样功能可以在ftp协议中。你告诉你的客户如何传输文件:在文本或二进制模式

This same feature can be found in the ftp protocol. You tell your client how to transfer files: in text or binary mode.

这篇关于发送字节数组串口出来放流上的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-29 16:51