public PortConnect() { _port = new SerialPort(); Receivers = new List <SerialDataReceivedEventHandler>(); ComConnect = new ComConnect(); ComPort = new Com(); }
public bool Connect() { if (_port == null || !IsConnected || !_port.IsOpen) { IsConnected = false; Com com = ComConnect.Search(); if (com != null) { try { _port.PortName = com.Name; _port.BaudRate = 9600; // еще варианты 4800, 9600, 28800 или 56000 _port.DataBits = 8; // еще варианты 8, 9 _port.StopBits = StopBits.One; // еще варианты StopBits.Two StopBits.None или StopBits.OnePointFive _port.Parity = Parity.Odd; // еще варианты Parity.Even Parity.Mark Parity.None или Parity.Space _port.ReadTimeout = 500; // еще варианты 1000, 2500 или 5000 (больше уже не стоит) _port.WriteTimeout = 500; // еще варианты 1000, 2500 или 5000 (больше уже не стоит) _port.NewLine = Environment.NewLine; _port.Handshake = Handshake.RequestToSend; _port.DtrEnable = true; _port.RtsEnable = true; _port.Encoding = Encoding.GetEncoding("windows-1251"); _port.Open(); this.ComPort.Name = com.Name; this.ComPort.Description = com.Description; IsConnected = true; } catch (Exception e) { Console.WriteLine(e.Message + " tut"); IsConnected = false; } } else { IsConnected = false; } } return(IsConnected); }