/// <summary> /// 尝试打开端口 /// </summary> /// <param name="setting"></param> /// <returns></returns> private static bool TryOpenPort(this SerialPortSetting setting) { try { using (var port = setting.CreatePort()) { port.Open(); return(true); } } catch (Exception) { return(false); } }
/// <summary> /// 初始化串口 /// </summary> private void InitSerialPort() { try { if (this.Port == null) { Port = _portSetting.CreatePort(); } else { Port.DataReceived -= Port_DataReceived; Port.Close(); _portSetting.ApplySettings(Port); } Port.NewLine = NewLine; Port.Open(); Port.DataReceived += Port_DataReceived; } catch (Exception ex) { Trace.TraceWarning("InitSerialPort Error, {0}", ex.Message); this.OnPropertyChanged(nameof(Enable)); } }