我有点问题。 我尝试从COM端口读取数据,并收到“坏”数据,如下所示:
0 Fl-1 我2 3 ? 4 M&五 6 7 8 9 10 ? 11 12 13 d 14 D 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
}
}
欢迎任何想法! 提前谢谢!
答案 0 :(得分:0)
如果您确定您收到的数据不是正在发送的数据,则值得仔细检查波特率,奇偶校验设置等。
如果一切设置正确,并且您仍未获取正在发送的数据,请使用终端仿真程序打开COM端口。如果您可以在那里看到正确的数据,那么问题在于您的代码;如果你不能,问题出在其他地方。