示例#1
0
 public PortConnect()
 {
     _port      = new SerialPort();
     Receivers  = new List <SerialDataReceivedEventHandler>();
     ComConnect = new ComConnect();
     ComPort    = new Com();
 }
示例#2
0
        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);
        }