public static void SetSerial(SerialPortEx serial)
        {
            Device = serial;
            Device.DataReceived += SerialDataReceived;

            JavascriptEvent.SerialChange();
        }
 public static void InitDevice()
 {
     Device = new SerialPortEx()
     {
         BaudRate = WinApi.B38400,
         DataBit  = WinApi.BIT_8,
         StopBit  = WinApi.STOP_1,
         Parity   = WinApi.p_NONE,
     };
     Device.DataReceived += SerialDataReceived;
 }
Пример #3
0
        private static SerialPortEx InitSerial()
        {
            SerialPortEx serial = new SerialPortEx()
            {
                BaudRate = WinApi.B38400,
                DataBit  = WinApi.BIT_8,
                StopBit  = WinApi.STOP_1,
                Parity   = WinApi.p_NONE,
            };

            serial.DataReceived += SerialDataReceived;
            return(serial);
        }
Пример #4
0
        private static void ConnectionDeviceThread(object sender, ElapsedEventArgs e)
        {
            m_TimerEnabled = true;

            try
            {
                if (SerialPortManager.Device.IsOpen)
                {
                    return;
                }
                string deal = PortAgreement.EncryptionDevice();
                for (int i = 0; i < 3; i++)
                {
                    if (m_StopTimer)
                    {
                        return;
                    }
                    foreach (string item in PortMonitor.GetPortNames)
                    {
                        if (m_StopTimer)
                        {
                            return;
                        }
                        if (m_Serial == null)
                        {
                            m_Serial = InitSerial();
                        }
                        m_Serial.PortName = item;
                        try
                        {
                            m_Serial.Open();
                            m_Serial.Write(deal);
                            bool ret = WaitResult();
                            if (ret)
                            {
                                m_Serial.DataReceived -= SerialDataReceived;
                                Thread.Sleep(10);
                                SerialPortManager.SetSerial(m_Serial);
                                return;
                            }
                            m_Serial.Close();
                        }
                        catch (Exception ex)
                        {
                            Log4Helper.ErrorInfo(ex.Message, ex);
                        }
                    }
                }

                if (!SerialPortManager.Device.IsOpen)
                {
                    JavascriptEvent.ConnectionFail();
                }
            }
            catch (Exception ex)
            {
                Log4Helper.ErrorInfo(ex.Message, ex);
                JavascriptEvent.ErrorMessage(ex.Message);
            }
            finally
            {
                m_Serial           = null;
                m_ConnectionDevice = false;
                m_TimerEnabled     = false;
                m_StopTimer        = false;
            }
        }