private void SPort_DataReceived(object sender, SerialDataReceivedEventArgs e) { SerialPort sPort = (SerialPort)sender; byte[] rbuf; rbuf = new byte[sPort.BytesToRead]; sPort.DiscardOutBuffer(); sPort.Read(rbuf, 0, rbuf.Length); // sPort.ReadLine(rbuf, 0, sPort.BytesToRead); this.Dispatcher.Invoke(() => { if (lbRecvive.Items.Count > 20) { lbRecvive.Items.Clear(); } lbRecvive.Items.Add(CmdHelper.ByteToString(rbuf)); }); }