public SerialPort() { this.baudRate = 0x2580; this.dataBits = 8; this.stopBits = System.IO.Ports.StopBits.One; this.portName = "COM1"; this.encoding = System.Text.Encoding.ASCII; this.decoder = System.Text.Encoding.ASCII.GetDecoder(); this.maxByteCountForSingleChar = System.Text.Encoding.ASCII.GetMaxByteCount(1); this.readTimeout = -1; this.writeTimeout = -1; this.receivedBytesThreshold = 1; this.parityReplace = 0x3f; this.newLine = "\n"; this.readBufferSize = 0x1000; this.writeBufferSize = 0x800; this.inBuffer = new byte[0x400]; this.oneChar = new char[1]; }
public SerialPort(string portName, int baudRate, System.IO.Ports.Parity parity, int dataBits, System.IO.Ports.StopBits stopBits) { }
/// <summary> /// Set default ranges for all the parameters. /// </summary> private void SetDefaultValues() { // Get the port options List<string> portOptions = SerialOptions.PortOptions; // Set a COMM port option if one is available if (portOptions.Count <= 0) { Port = ""; } else { Port = portOptions[0]; } BaudRate = DEFAULT_BAUD; DataBits = DEFAULT_DATA_BITS; Parity = DEFAULT_PARITY; StopBits = DEFAULT_STOP_BITS; }
private void Form1_Load(object sender, EventArgs e) { string[] Param; this.Text += Application.ProductVersion; Properties.Settings.Default.drv = clFacilities.PreparaDrv(Application.StartupPath); Properties.Settings.Default.drvProgramData = clFacilities.PreparaDrv(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\" + Application.ProductName); string drvServer; drvServer = clFacilities.getDrvServer(Properties.Settings.Default.drv + "Config.xml"); if (drvServer.Equals("")) { drvServer = clFacilities.PreparaDrv(clFacilities.getDrvServer(Properties.Settings.Default.drvProgramData + "Config.xml")); } #region CONFIG.XML clXML xml = new clXML(drvServer + "database\\dlls"); clXML xml2 = new clXML(drvServer + "database\\dlls"); string txt1, txt2 = ""; // verifica se a data do config.xml instalado é <> do que o do usuário, se sim, copia por cima o arquivo txt1 = xml2.getValue("Comum", "ATUALIZADOEM", Properties.Settings.Default.drv + "Config.xml"); txt2 = xml.getValue("Comum", "ATUALIZADOEM", Properties.Settings.Default.drvProgramData + "Config.xml"); if (txt1 != txt2 || txt2.Equals("")) { // cria a pasta try { Directory.CreateDirectory(Properties.Settings.Default.drvProgramData); // se o arquivo ainda não existe, então só copia o novo if (!File.Exists(Properties.Settings.Default.drvProgramData + "Config.xml")) { File.Copy(Properties.Settings.Default.drv + "Config.xml", Properties.Settings.Default.drvProgramData + "Config.xml", true); } else { // como o arquivo já existe, então copia somente as chaves dentro de comum que contiverem o atributo de obrigatório string Key = "ATUALIZADOEM"; string Value = ""; List <KeyValuePair <string, string> > Attribs; // já grava a primeira informação que é a data xml.setValue("Comum", Key, txt1); xml.setKeyAttrib("Comum", Key, "required", "1"); while (xml2.getNextNodeValueAndAttribs("Comum", ref Key, out Value, out Attribs)) { try { // don't change value if exists xml.getValue("Comum", Key); if (xml.getLastErrorInfo.hasError) { xml.setValue("Comum", Key, Value); } // change value even if it exists but only if has attributes foreach (KeyValuePair <string, string> item in Attribs) { xml.setValue("Comum", Key, Value); xml.setKeyAttrib("Comum", Key, item.Key, item.Value); } } catch { } } xml.saveFile(""); } } catch (Exception ex) { MessageBox.Show(ex.Message.ToString(), "Erro ao copiar arquivo de definições!"); this.Dispose(); return; } } xml2.Dispose(); #endregion // pega a localização do servidor de banco de dados Properties.Settings.Default.drvServer = clFacilities.PreparaDrv(xml.getValue("Comum", "drvServer", Properties.Settings.Default.drvProgramData + "Config.xml")); Properties.Settings.Default.drvDB = clFacilities.PreparaDrv(xml.getValue("Comum", "drvDB", Properties.Settings.Default.drvProgramData + "Config.xml")); Properties.Settings.Default.drvDatabase = clFacilities.PreparaDrv(xml.getValue("Comum", "drvDataBase", Properties.Settings.Default.drvProgramData + "Config.xml")); Properties.Settings.Default.drvMicrosigaTXT = clFacilities.PreparaDrv(xml.getValue("Comum", "drvMicrosigaTXT", Properties.Settings.Default.drvProgramData + "Config.xml")); Properties.Settings.Default.commPort = xml.getValue("Comum", "CommPort", Properties.Settings.Default.drvProgramData + "Config.xml"); Properties.Settings.Default.commSettings = xml.getValue("Comum", "CommSettings", Properties.Settings.Default.drvProgramData + "Config.xml"); if (Properties.Settings.Default.commPort.isEmpty()) { Properties.Settings.Default.commPort = "COM1"; } if (Properties.Settings.Default.commSettings.isEmpty()) { Properties.Settings.Default.commSettings = "9600,n,8,1"; } if (!(txt1 = xml.getValue("Comum", "limitIntegralSUFIX1")).isEmpty()) { Properties.Settings.Default.limitIntegralSUFIX1 = int.Parse(txt1); } if (!(txt1 = xml.getValue("Comum", "limitIntegralSUFIX2")).isEmpty()) { Properties.Settings.Default.limitIntegralSUFIX2 = int.Parse(txt1); } if (!(txt1 = xml.getValue("Comum", "limitIntegralTAG1")).isEmpty()) { Properties.Settings.Default.limitIntegralTAG1 = int.Parse(txt1); } if (!(txt1 = xml.getValue("Comum", "limitIntegralTAG2")).isEmpty()) { Properties.Settings.Default.limitIntegralTAG2 = int.Parse(txt1); } if (!(txt1 = xml.getValue("Comum", "limitTagTAG1")).isEmpty()) { Properties.Settings.Default.limitTagTAG1 = int.Parse(txt1); } if (!(txt1 = xml.getValue("Comum", "limitTagTAG2")).isEmpty()) { Properties.Settings.Default.limitTagTAG2 = int.Parse(txt1); } //Properties.Settings.Default.clearTML = bool.Parse(xml.getValue("Comum", "clearTML")); xml.Dispose(); getConfigData(); // get all restrictions and remote configurations for this software txtBarCode.Enabled = DBLayer.Connect(Properties.Settings.Default.drvDB + "PRODUCT.mdb"); Model.comm = new RSComm.cRSComm(Properties.Settings.Default.drvDatabase + "dlls"); Model.comm.dataReceived += Comm_dataReceived; Model.comm.timeOutEvent += Comm_timeOutEvent; Param = Properties.Settings.Default.commSettings.Split(','); System.IO.Ports.StopBits sb = System.IO.Ports.StopBits.None; System.IO.Ports.Parity pt = System.IO.Ports.Parity.None; switch (Param[3]) { case "0": sb = System.IO.Ports.StopBits.None; break; case "1": sb = System.IO.Ports.StopBits.One; break; case "2": sb = System.IO.Ports.StopBits.Two; break; } switch (Param[1]) { case "n": pt = System.IO.Ports.Parity.None; break; case "e": pt = System.IO.Ports.Parity.Even; break; case "o": pt = System.IO.Ports.Parity.Odd; break; } RSComm.sErrorInfo sError = Model.comm.openPort(Properties.Settings.Default.commPort, int.Parse(Param[0]), int.Parse(Param[2]), sb, 5000, false, false, Encoding.UTF8, System.IO.Ports.Handshake.None, pt); if (sError.hasError) { MessageBox.Show(sError.errorMsg + "\r\n" + sError.exceptionMsg, "Serial port invalid!" + Properties.Settings.Default.commPort); //Application.Exit(); //return; } Model.comm.closePort(); // keep it closed and free to use by another applications txtBarCode.Tag = ""; Model.refreshRestr(true); // examples to test // B1V201531, B1V290001 INTEGRAL // B1V201963 REMOTE SENSOR }
//------------------------------------------------------------------------------- /// <summary> /// Обработчик события выбора количества стоп-бит /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void comboBoxStopBits_SelectedIndexChanged(object sender, EventArgs e) { ComboBox cb = sender as ComboBox; _StopBits = (System.IO.Ports.StopBits)Enum.Parse(typeof(System.IO.Ports.StopBits), (String)cb.SelectedItem); return; }
public void SerialPortInit() { foreach (string s in System.IO.Ports.SerialPort.GetPortNames()) { com_port_cb.Items.Add(s); } com_port_cb.SelectedIndex = 0; com_port_name_idx = 0; com_port_name_val = com_port_cb.SelectedItem.ToString(); baud_rate_val = 921600; baud_rate_tb.Text = baud_rate_val.ToString(); data_bits_cb.Items.Add(5); data_bits_cb.Items.Add(6); data_bits_cb.Items.Add(7); data_bits_cb.Items.Add(8); data_bits_cb.Items.Add(9); data_bits_cb.SelectedIndex = 3; data_bits_idx = 3; int.TryParse(data_bits_cb.GetItemText(data_bits_cb.SelectedItem), out data_bits_val); stop_bits_cb.Items.Add(0); stop_bits_cb.Items.Add(1); stop_bits_cb.Items.Add(2); stop_bits_cb.Items.Add(1.5); stop_bits_cb.SelectedIndex = 1; stop_bits_idx = 1; int.TryParse(stop_bits_cb.GetItemText(stop_bits_cb.SelectedItem), out int temp); stop_bits_val = (System.IO.Ports.StopBits)Enum.ToObject(typeof(System.IO.Ports.StopBits), temp); parity_cb.Items.Add("none"); parity_cb.Items.Add("even"); parity_cb.Items.Add("odd"); parity_cb.Items.Add("mark"); parity_cb.Items.Add("space"); parity_cb.SelectedIndex = 0; parity_idx = 0; int.TryParse(parity_cb.GetItemText(parity_cb.SelectedItem), out temp); parity_val = (System.IO.Ports.Parity)Enum.ToObject(typeof(System.IO.Ports.Parity), temp); Microsoft.Win32.RegistryKey key; try { key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("Target Emulator " + app_num.ToString()).OpenSubKey(port_setting_names[0]); int.TryParse(key.GetValue(port_setting_names[1]).ToString(), out int idx); com_port_cb.SelectedIndex = idx; com_port_name_idx = idx; com_port_name_val = com_port_cb.SelectedItem.ToString(); baud_rate_tb.Text = key.GetValue(port_setting_names[2]).ToString(); int.TryParse(key.GetValue(port_setting_names[3]).ToString(), out idx); data_bits_cb.SelectedIndex = idx; int.TryParse(key.GetValue(port_setting_names[4]).ToString(), out idx); stop_bits_cb.SelectedIndex = idx; int.TryParse(key.GetValue(port_setting_names[5]).ToString(), out idx); parity_cb.SelectedIndex = idx; } catch { } }
public bool Open(string SerialName, int BaudRate, int dataBis, System.IO.Ports.Parity Pority, System.IO.Ports.StopBits StopBits) { try { mySerialPort.PortName = SerialName; mySerialPort.BaudRate = BaudRate; mySerialPort.DataBits = dataBis; mySerialPort.Parity = Pority; mySerialPort.StopBits = StopBits; //mySerialPort.PortName = SerialName.Split('(')[1].Split(')')[0]; if (!mySerialPort.IsOpen) { mySerialPort.Open(); } return(true); } catch (Exception ex) { //mySerialPort.Close(); return(false); } }
/// <summary> /// Overload Constructor /// </summary> /// <param name="SerialPortNumber"></param> /// <param name="SerialBaudRate"></param> /// <param name="SerialDataBits"></param> /// <param name="SerialParity"></param> /// <param name="SerialStopBits"></param> /// <param name="IntercharacterDelay"></param> public clsDiagnostics(int SerialPortNumber, long SerialBaudRate, System.IO.Ports.Parity SerialParity, int SerialDataBits, System.IO.Ports.StopBits SerialStopBits, int IntercharacterDelay, System.Windows.Forms.RichTextBox TerminalWindow) { m_iCommPortNumber = SerialPortNumber; m_lCommBaudRate = SerialBaudRate; m_pCommParity = SerialParity; m_iCommDataBits = SerialDataBits; m_sCommStopBits = SerialStopBits; m_iIntercharacterDelay = IntercharacterDelay; m_serport = new System.IO.Ports.SerialPort(); // m_tTerminalWindow = TerminalWindow; }
/// <summary> /// Overload Constructor /// </summary> /// <param name="SerialPortNumber"></param> /// <param name="SerialBaudRate"></param> /// <param name="SerialDataBits"></param> /// <param name="SerialParity"></param> /// <param name="SerialStopBits"></param> /// <param name="IntercharacterDelay"></param> public clsSLM(int SerialPortNumber, long SerialBaudRate, System.IO.Ports.Parity SerialParity, int SerialDataBits, System.IO.Ports.StopBits SerialStopBits, int IntercharacterDelay) { m_iCommPortNumber = SerialPortNumber; m_lCommBaudRate = SerialBaudRate; m_pCommParity = SerialParity; m_iCommDataBits = SerialDataBits; m_sCommStopBits = SerialStopBits; m_iIntercharacterDelay = IntercharacterDelay; m_serport = new System.IO.Ports.SerialPort(); }
public void Open(string portName, int baudRate, System.IO.Ports.Parity portParity, int portDataBits, System.IO.Ports.StopBits portStopBits, System.IO.Ports.Handshake portHandshake, int timeOut, Encoding dataEncoding) { Open(portName, baudRate); }
// CONSTRUCTORS -- Pass the Buck public SimpleSerial(string portName, int baudRate, System.IO.Ports.Parity parity, int dataBits, System.IO.Ports.StopBits stopBits) : base(portName, baudRate, parity, dataBits, stopBits) { }
private void sendSerialData(string p_strCOMPort, int p_intBaudRate, System.IO.Ports.Parity p_objParitySetting, int p_intDataBits, System.IO.Ports.StopBits p_objStopBits, byte[] p_bteDataToSend) { System.IO.Ports.SerialPort l_objSwitcherSerialPort = new System.IO.Ports.SerialPort(p_strCOMPort, p_intBaudRate, p_objParitySetting, p_intDataBits, p_objStopBits); try { //Since the manual had a hex message, I tried to follow an example found here: https://web.archive.org/web/20130709121945/http://msmvps.com/blogs/coad/archive/2005/03/23/SerialPort-_2800_RS_2D00_232-Serial-COM-Port_2900_-in-C_2300_-.NET.aspx //If this does not work, try sending the text values instead (like the projector lift) l_objSwitcherSerialPort.Open(); l_objSwitcherSerialPort.Write(p_bteDataToSend, 0, 10); } catch (Exception e) { throw e; } finally { l_objSwitcherSerialPort.Close(); } }
/// <summary> /// For Sending Direct Commands from the UI /// </summary> /// <param name="p_strCOMPort"></param> /// <param name="p_intBaudRate"></param> /// <param name="p_objParitySetting"></param> /// <param name="p_intDataBits"></param> /// <param name="p_objStopBits"></param> /// <param name="p_bteDataToSend"></param> private void sendSerialData(string p_strCOMPort, int p_intBaudRate, System.IO.Ports.Parity p_objParitySetting, int p_intDataBits, System.IO.Ports.StopBits p_objStopBits, string p_bteDataToSend) { System.IO.Ports.SerialPort l_objSwitcherSerialPort = new System.IO.Ports.SerialPort(p_strCOMPort, p_intBaudRate, p_objParitySetting, p_intDataBits, p_objStopBits); try { l_objSwitcherSerialPort.Open(); l_objSwitcherSerialPort.Write(p_bteDataToSend); } catch (Exception e) { throw e; } finally { l_objSwitcherSerialPort.Close(); } }
public Profile(string name, int baudRate, System.IO.Ports.Parity parity, int dataBits, System.IO.Ports.StopBits stopBits, string defaultPath, string defaultPort) { this.name = name; this.baudRate = baudRate; this.parity = parity; this.dataBits = dataBits; this.stopBits = stopBits; this.defaultPath = defaultPath; this.defaultPort = defaultPort; }