//初始化串口
_serial_port.PortName = cb_COM.SelectedItem.ToString();
_serial_port.BaudRate = 2400;
 _serial_port.StopBits = StopBits.One;//不支持stopbits.none
_serial_port.Parity = Parity.None;
_serial_port.DataBits = 8;
_serial_port.ReadTimeout = 2000;
 _serial_port.WriteTimeout = 5000;
_serial_port.RtsEnable = true;
 _serial_port.Open();
_serial_port.DiscardInBuffer();
_serial_port.DiscardOutBuffer();char[] config = new char[35];
char[] rxbuffer = new char[32];config[10] = 'c';
//1表示发送配置信息,0表示发送数据
config[32] = Convert.ToChar(0x01);
string str = new string(config);
//发送
_serial_port.WriteLine(Convert.ToString(str));
 //停顿1-2秒
  Thread.Sleep(1000); try
   {
      int num = _serial_port.Read(rxbuffer,0,32) ;//串口助手发现收到的是发的数据
      string stringstr = _serial_port.ReadLine();//这里直接超时或异常跳到catch
      //config = tempstring.ToCharArray();
      string tmstr = new string(rxbuffer);
      //验证是否连接成功
     MessageBox.Show("一共读取"+tmstr+"字节","提示");
    }
    catch
    {  
         _serial_port.DiscardInBuffer();
        _serial_port.DiscardOutBuffer();
     }C#