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; }
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); }
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; } }