Exemplo n.º 1
0
 private static void SerialDataReceived(int port)
 {
     Thread.Sleep(5);
     try
     {
         int len = m_Serial.GetIqueue;
         if (len <= 0)
         {
             try
             {
                 if (m_Bytes[0] == 160)
                 {
                     m_ConnectionDevice = true;
                 }
             }
             catch
             {
             }
             finally
             {
                 m_Bytes.Clear();
             }
             return;
         }
         byte[] by = m_Serial.Read(len);
         m_Bytes.AddRange(by);
     }
     catch (Exception ex)
     {
         Log4Helper.ErrorInfo(ex.Message, ex);
     }
 }
        private static void SerialDataReceived(int port)
        {
            Thread.Sleep(10);
            try
            {
                int len = Device.GetIqueue;
                if (len <= 0)
                {
                    try
                    {
                        OverTimer.Stop();
                        switch (m_Bytes[0])
                        {
                        case 10:
                            if (m_Bytes[1] == 8)
                            {
                                JavascriptEvent.OperationOver();
                            }
                            else
                            {
                                DataManager.VerifyingRepetition(m_Bytes);

                                OverTimer.start();
                            }
                            break;

                        case 30:
                            if (m_Bytes[1] == 8)
                            {
                                OperationResult = OperationResults.Fail;
                            }
                            else
                            {
                                OperationResult = OperationResults.Success;
                            }
                            break;

                        case 43:
                            bool ret = m_Bytes[1] != 8;
                            JavascriptEvent.EndMessage(ret);
                            if (ret)
                            {
                                JavascriptEvent.IncrementingNumber();
                            }
                            break;

                        case 160:
                            JavascriptEvent.OperationOver();
                            if (m_Bytes[1] == 0)
                            {
                                JavascriptEvent.NewsMessage("发行器编号设置成功。");
                            }
                            else
                            {
                                JavascriptEvent.NewsMessage("发行器编号设置失败,请重新操作。");
                            }
                            break;
                        }
                    }
                    catch (Exception ex)
                    {
                        Log4Helper.ErrorInfo(ex.Message, ex);
                        JavascriptEvent.ErrorMessage(ex.Message);
                    }
                    finally
                    {
                        m_Bytes.Clear();
                    }
                    return;
                }
                byte[] by = Device.Read(len);
                if (m_Bytes == null)
                {
                    m_Bytes = new List <byte>();
                }
                m_Bytes.AddRange(by);
            }
            catch (Exception ex)
            {
                Log4Helper.ErrorInfo(ex.Message, ex);
                JavascriptEvent.ErrorMessage(ex.Message);
            }
        }