从串口读取数据c#

Reading data from serial port c#

我正在尝试从端口读取字符。写入端口完美,读取 - 没那么多。

这是我的代码:

private void Com_Port_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
    char val;
    try
    {
        val = Convert.ToChar(Com_Port.ReadByte()); // get the new byte from port       
        label6.Text = Convert.ToString(val);
    }
    catch (Exception) { }
}

label6 不会更改其文本。代码完美发送数据。 更多信息:当我向端口发送数据时,它会将数据回显给我。 在过去的 4 个小时里,我为此绞尽脑汁。

您也可以使用readexisting 方法尝试读取一个字符串,如果字符串为空,这意味着硬件存在问题。如果不为空,则处理您的字符串并提取特定的 char

private void Com_Port_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
    {
        char val;
        try
        {
            SerialPort sp = (SerialPort)sender;
            string data = sp.ReadExisting();
            val=Your_method_to_process_string(data);
            label6.Text = Convert.ToString(val);
        }
        catch (Exception) { }
    }