public static bool Open(RfidParameters rfid) { try { if (Connect != null && Connect.IsOpen) { Close(); } Connect = new SerialPort(); Connect.PortName = rfid.PortName; Connect.BaudRate = rfid.BaudRate; Connect.DataBits = rfid.DataBits; Connect.Handshake = rfid.Handshake; Connect.Parity = rfid.Parity; Connect.StopBits = rfid.StopBits; Connect.ReadTimeout = rfid.ReadTimeout; Connect.WriteTimeout = rfid.WriteTimeout; Connect.DataReceived += new SerialDataReceivedEventHandler(Read); Connect.Open(); Save(rfid); OnChangeRfid(true); return(true); } catch { OnChangeRfid(false); return(false); } }
public static void Save(RfidParameters rfid) { Properties.Settings.Default.RfidPortName = rfid.PortName; Properties.Settings.Default.RfidBaudRate = rfid.BaudRate; Properties.Settings.Default.RfidDataBits = rfid.DataBits; Properties.Settings.Default.RfidHandshake = rfid.Handshake; Properties.Settings.Default.RfidParity = rfid.Parity; Properties.Settings.Default.RfidStopBits = rfid.StopBits; Properties.Settings.Default.RfidReadTimeout = rfid.ReadTimeout; Properties.Settings.Default.RfidWriteTimeout = rfid.WriteTimeout; Properties.Settings.Default.Save(); }
public static bool OpenLast() { RfidParameters rfid = new RfidParameters() { PortName = Properties.Settings.Default.RfidPortName, BaudRate = Properties.Settings.Default.RfidBaudRate, DataBits = Properties.Settings.Default.RfidDataBits, Handshake = Properties.Settings.Default.RfidHandshake, Parity = Properties.Settings.Default.RfidParity, StopBits = Properties.Settings.Default.RfidStopBits, ReadTimeout = Properties.Settings.Default.RfidReadTimeout, WriteTimeout = Properties.Settings.Default.RfidWriteTimeout, }; return(Open(rfid)); }
private void ReaderOpen() { int error = 0; int baudRate = 0; if (comboBoxPortName.SelectedIndex < 0) { MessageBox.Show("'PortName' не выбран.", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Error); error++; } if (!int.TryParse(comboBoxBaudRate.Text, out baudRate)) { MessageBox.Show("Значение в 'BaudRate' должно быть числом.", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Error); error++; } int databits = 0; if (!int.TryParse(comboBoxDataBits.Text, out databits)) { MessageBox.Show("Значение в 'DataBits' должно быть числом.", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Error); error++; } Handshake handshake = Convert.Handshake(comboBoxHandshake.Text); Parity parity = Convert.Parity(comboBoxParity.Text); StopBits stopbits = Convert.StopBits(comboBoxStopBits.Text); int readtimeout = 0; if (!int.TryParse(comboBoxReadTimeout.Text, out readtimeout)) { MessageBox.Show("Значение в 'ReadTime' должно быть числом.", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Error); error++; } int writetimeout = 0; if (!int.TryParse(comboBoxWriteTimeout.Text, out writetimeout)) { MessageBox.Show("Значение в 'WriteTime' должно быть числом.", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Error); error++; } Reader.RfidParameters rfid = new Reader.RfidParameters() { PortName = comboBoxPortName.Text, BaudRate = baudRate, DataBits = databits, Handshake = handshake, Parity = parity, StopBits = stopbits, ReadTimeout = readtimeout, WriteTimeout = writetimeout, }; if (error == 0) { if (Reader.Rfid.Open(rfid)) { this.DialogResult = DialogResult.OK; this.Close(); } else { MessageBox.Show("Ошибка при открытии порта. Проверьте выставленные параметры считывателя.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }