0

我有一个小问题。我尝试从 COM 端口读取数据,但收到如下“坏”数据:

0 Fl- 1 我 2 3 ? 4米?5 6 7 8 9 10 ? 11 12 13 天 14 天 15

打开端口的代码是:

_port = new SerialPort(Settings.Default.COM, 9600, Parity.None, 8, StopBits.One);
_port.DataReceived += PortDataReceived;
_port.Open();

读取数据的代码是:

private void PortDataReceived(object sender, SerialDataReceivedEventArgs e) 
{
    string s = _port.ReadExisting();
    _reportBuffer = _reportBuffer + s;
    _counter++;
    if (_counter == _messageLength)
    {
        //action
    }
}

欢迎任何想法!提前致谢!

4

1 回答 1

0

如果您确定您收到的数据不是正在发送的数据,则值得仔细检查波特率、奇偶校验设置等。

如果一切设置正确,但您仍然没有收到正在发送的数据,请使用终端仿真器打开 COM 端口。如果您可以在那里看到正确的数据,那么问题出在您的代码上;如果你不能,问题就出在其他地方。

于 2012-01-21T10:56:15.057 回答