Visual Studio#串口ReadChar()

时间:2015-10-14 20:39:04

标签: c# visual-studio serial-port

我正在做简单的COM端口读取应用程序。下面是我的DataReceive事件代码。问题是:当我使用终端在COM端口上发送更多字符时,例如“TEST”它只读取前两个字符,而计数器仅增加2.这种情况一直发生,并且没有达到接收数据的时间长度。 任何想法都错了吗? 谢谢!

        public void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
    {
        GlobalVariable.ReceivedCharacter =  serialPort1.ReadChar();
        GlobalVariable.Counter = GlobalVariable.Counter + 1;
    }

1 个答案:

答案 0 :(得分:0)

这种情况发生了,因为你只读了一个字符的消息。如果您需要从串口读取文本,请使用#hue { display: block; width: 90%; float: left; margin: 0 auto; margin-top: 37px; } .hue { height: 12px; width: 100%; } #mixedColor { display: block; width: 100px; height: 100px; border: 1px solid black; float: right; } .vert { margin-top: 100px; } 。简单的例子:

ReadExisting

有关详细信息,请参阅MSDN

如果你只需要一个字符,你可以这样写:

public void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
    string recievedtext = serialPort1.ReadExisting();
}