日期:2014-05-18  浏览次数:20686 次

串口接收二进制数据...求疑问.
The $ABCDE$ and commas are in ASCII, the rest is in binary

前面$ABCDE$,是ASCII的协议.
后面的数据文是二进制方式的...

这样的该怎么接收啊....求思路....

二进制方式我该怎么收啊...ASCII的我倒是直接收过...二进制的还要经过转换吧.

------解决方案--------------------
你都按照二进制接收即可,ASCII一个字符占一个字节(byte),那么你前面是7个字符,你将接收到的二进制前面7位单独截取,然后用Encoding类转换到字符串即可,后面就是纯二进制了。
------解决方案--------------------
你那个实例代码是CRC16的转换函数而已,和你这个解码没有任何关系,最多用于CRC校验下。

另外$ABCDE$部分能正常解出来吗?$ABCDE$应该是用于分割连续的内容用的,如果没有结束符,那么它本身应该是开始符和结束符都是,具体应用环境不明确,以上只是推测。二进制部分建议直接写文本,看看是什么内容,一般文本打开的时候,对于二进制,如果可识别的话,会自动用最合适的编码解析的,同时存文本后你还可以用UltraEdit等软件直接查看二进制内容进行分析。