日期:2014-05-17  浏览次数:20843 次

一个简单的串口数据处理的问题
目前可以接收到主从机发送的数据了,这次客户的通讯协议里要求两个字节并作一个数据来处理。
比如第三个字节和第四个字节 表示一个值,是HEX发送,我该如何把这两个字节加起来处理呢?是两个HEX值相加吗?请大鸟们赐教!
------最佳解决方案--------------------
第一、你要了解下位机是高位在前,还是低位在前。也就是c#的术语,高尾字节还是低尾字节。
第二、你要了解两个字节的含义,两个字节在c#中可能表示char,ushot,short
第三、你要了解完整的协义格式,因为这两个看上去一定会一起传输到上位机的字节,有可能是在两次通讯过程中传输过来的。你要根据协议,去编写自己的代码。也就是处理一条完整的报文的边界问题。
------其他解决方案--------------------
利用 char[] 数组
------其他解决方案--------------------
这个计算方式你得问发送方啊,他是怎么拆解数据发送过来的,你就怎么组合回去。
------其他解决方案--------------------
引用:
这个计算方式你得问发送方啊,他是怎么拆解数据发送过来的,你就怎么组合回去。

前一个字节作为低位,后一个字节为高位,我这样理解不知对不对,把两个字节合成一个16个“1”和“0”的二进制数然后转成十进制 字符串?
------其他解决方案--------------------
完成了,我用  (list[下标1]+list[下标2]).ToString();达到目的了。