public static bool Open(string strPortName) { Device.PortName = strPortName; try { Device.Open(); return(true); } catch (Exception ex) { Log4Helper.ErrorInfo(ex.Message, ex); JavascriptEvent.ErrorMessage(ex.Message); } return(false); }
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; } }