What is the correct way to read a serial port using .NET framework?

后端 未结 3 1501
故里飘歌
故里飘歌 2020-11-27 03:12

I\'ve read a lot of questions here about how to read data from serial ports using the .NET SerialPort class but none of the recommanded approaches have proven completely eff

3条回答
  •  伪装坚强ぢ
    2020-11-27 03:49

    I used similar code to @MethodMan but I had to keep track of the data the serial port was sending and look for a terminating character to know when the serial port was done sending data.

    private string buffer { get; set; }
    private SerialPort _port { get; set; }
    
    public Port() 
    {
        _port = new SerialPort();
        _port.DataReceived += new SerialDataReceivedEventHandler(dataReceived);
        buffer = string.Empty;
    }
    
    private void dataReceived(object sender, SerialDataReceivedEventArgs e)
    {    
        buffer += _port.ReadExisting();
    
        //test for termination character in buffer
        if (buffer.Contains("\r\n"))
        {
            //run code on data received from serial port
        }
    }
    

提交回复
热议问题