public void ExecuteOpenCOMCommand() { Messager(this, new MessageEventArgs("Opening start.\n")); try { DCB dcb = new DCB(); dcb.BaudRate = int.Parse(_baudRate); dcb.DataBits = int.Parse(_dataBits); dcb.StopBits = (StopBits)Enum.Parse(typeof(StopBits), _stopBits); dcb.Parity = (Parity)Enum.Parse(typeof(Parity), _parity); COMMTIMEOUTS commtimeouts = new COMMTIMEOUTS(); commtimeouts.ReadTimeout = 500; commtimeouts.WriteTimeout = 500; comPort1.SetDCB(dcb); comPort1.SetCOMMTIMEOUTS(commtimeouts); comPort1.Open(); Messager(this, new MessageEventArgs(string.Format("Port {0} is opened.\n", comPort1.PortName))); comPort2.SetDCB(dcb); comPort2.SetCOMMTIMEOUTS(commtimeouts); comPort2.Open(); Messager(this, new MessageEventArgs(string.Format("Port {0} is opened.\n", comPort2.PortName))); _writeCommand.RaiseCanExecuteChanged(); _readCommand.RaiseCanExecuteChanged(); _closeCOMsCommand.RaiseCanExecuteChanged(); _openCOMsCommand.RaiseCanExecuteChanged(); } catch (Exception ex) { Messager(this, new MessageEventArgs(ex.Message)); } }
public static void SetCOMMTIMEOUTS(this SerialPort com, COMMTIMEOUTS commtimeouts) { com.ReadTimeout = commtimeouts.ReadTimeout; com.WriteTimeout = commtimeouts.WriteTimeout; }