C#自己写SerialPort串口一天通讯几千次,为什么间接性的出现几次接收不到数据

void m_barcoder1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
try
{
string RecieveData1 = "";
int count = ClassCommon.m_barcoder1.BytesToRead;
byte[] RecieveBuf = new byte[count];
ClassCommon.m_barcoder1.Read(RecieveBuf, 0, count);

            RecieveData1 = System.Text.Encoding.Default.GetString(RecieveBuf).TrimEnd('\r', '\n');
            if (RecieveData1 == "S")
            {
                AppendText("前扫码收到扫码触发指令:" + RecieveData1);
                ThreadPool.QueueUserWorkItem(new WaitCallback(CamRun1));
            }
            else
            {
                AppendText("前扫码收到扫码错误触发指令:" + RecieveData1);
            }


            Thread.Sleep(100);
            ClassCommon.m_barcoder1.DiscardInBuffer();
        }
        catch (Exception ex)
        {

            AppendText(ex.Message);
        }
    }

你是如何确定是串口通讯丢失数据,而不是扫码枪没扫到数据呢