如何通过串口正确接收数据?

时间:2017-04-10 17:21:15

标签: c# arduino serial-port

我创建了两个应用程序,一个用于发送(arduino),另一个用于接收数据(使用C#)。我几乎可以肯定,发送应用程序运行良好,我可以看到像Putty这样的程序中的数据(可以看串口)。

我的接收计划并不特别。我从微软的网站上获取了代码:

private readonly SerialPort _serialPort = new SerialPort("COM3", 9600);
_serialPort.Parity=Parity.None;
            _serialPort.StopBits = StopBits.One;
            _serialPort.DataBits = 8;
            _serialPort.Handshake = Handshake.None;
            _serialPort.RtsEnable = true;
            _serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);

private static void DataReceivedHandler(
            object sender,
            SerialDataReceivedEventArgs e)
{
    SerialPort sp = (SerialPort)sender;
    string indata = sp.ReadExisting();
    _testString = indata;
    Console.WriteLine(_testString);
}

数据示例是:y5-1

在Putty(或其他观看串口的程序)中我可以看到“y5-1”,但在我的程序数据中是这样的: “Y5- \ n 1"

我的意思是,换行速度太快了。数据在循环中发送延迟500 ms,因此发送速度不会太快。

任何人都知道我应该如何编写接收代码?

0 个答案:

没有答案