示例#1
0
        void m_serialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            int byteCount = m_serialPort.BytesToRead;

            while (byteCount > 0)
            {
                m_rdTimout = 0;
                byte[] buf = new byte[byteCount];
                try
                {
                    int rdLen = m_serialPort.Read(buf, 0, byteCount);
                    m_rxBuf.PutRange(buf, 0, rdLen);
                    //
                    DataRecivedEventArgs drea = new DataRecivedEventArgs(buf, rdLen);
                    OnDataRecived(this, drea);
                    //
                    Thread.Sleep(0);
                    byteCount = m_serialPort.BytesToRead;
                }
                catch
                {
                    byteCount = 0;
                    break;
                }
            }
        }
示例#2
0
 protected void OnDataRecived(object sender, DataRecivedEventArgs e)
 {
     if (DataRecived != null)
     {
         DataRecived(sender, e);
     }
 }