SerialPort.ReadLine()返回垃圾

时间:2012-05-18 13:05:33

标签: c# visual-studio-2010 serial-port

我正在使用串口从秤中读取数据。通信工作正常,但我从串口获得垃圾。

一个例子:

???s.R?????0?   ??o???????0?    ??o???????0?

我的问题是,我不知道比例的行为。我不知道它是否发送给我十六进制,二进制或什么。我不知道它实际发送的是什么价值。我没有任何关于研究规模的文件。

所以我猜,默认情况下,通常通过串口发回的内容以及如何将其转换为可读值?

1 个答案:

答案 0 :(得分:3)

许多问号表示SerialPort设置错误。从Baudrate开始,Parity就是下一个。

如果比例发送二进制数据,则编码属性很重要。默认值为ASCII,因此如果二进制数据中的字节数> = 128,则生成大量问号。在这种情况下,应使用Read()而不是ReadLine()。你想用什么来开始解决这个问题,你想看看原始字节值,你不能从问号中看到太多。要特别注意从阅读中得到的最后一两个字节,它们应该重复一遍。