Ejemplo n.º 1
0
 private void ExecuteRefreshAvailableCOMPortsCommand()
 {
     AvailableComPorts.Clear();
     foreach (var item in _serialPortManager.AvailablePorts)
     {
         AvailableComPorts.Add(item);
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Verbindet den COM-Port
        /// </summary>
        private void ConnectPort()
        {
            #region richtigen COM-Port ermitteln
            if (AvailableComPorts.Count < 1)
            {
                OnRaiseGsmSystemEvent(new GsmEventArgs(11011512, "Es sind keine COM-Ports vorhanden"));
            }

            if (!AvailableComPorts.Contains(CurrentComPortName))
            {
                CurrentComPortName = AvailableComPorts.LastOrDefault();
            }
            #endregion

            OnRaiseGsmSystemEvent(new GsmEventArgs(11051108, string.Format("Öffne Port {0}...", CurrentComPortName)));

            #region Wenn Port bereits vebunden ist, trennen
            if (Port != null && Port.IsOpen)
            {
                ClosePort();
            }
            #endregion

            #region Verbinde ComPort
            receiveNow = new AutoResetEvent(false);
            SerialPort port = new SerialPort();

            try
            {
                port.PortName      = CurrentComPortName;                   //COM1
                port.BaudRate      = Properties.Settings.Default.Baudrate; //9600
                port.DataBits      = Properties.Settings.Default.DataBits; //8
                port.StopBits      = StopBits.One;                         //1
                port.Parity        = Parity.None;                          //None
                port.ReadTimeout   = 300;                                  //300
                port.WriteTimeout  = 300;                                  //300
                port.Encoding      = Encoding.GetEncoding("iso-8859-1");
                port.DataReceived += new SerialDataReceivedEventHandler(Port_DataReceived);
                port.Open();
                port.DtrEnable = true;
                port.RtsEnable = true;
            }
            catch (Exception ex)
            {
                OnRaiseGsmSystemEvent(new GsmEventArgs(11011514, string.Format("COM-Port {0} konnte nicht verbunden werden. \r\n{1}\r\n{2}", CurrentComPortName, ex.GetType(), ex.Message)));
            }

            Port = port;
            #endregion
        }
Ejemplo n.º 3
0
        public void LoadAvailableComPorts()
        {
            string[] ports = SerialPort.GetPortNames();

            var autoPort = (from p in ports where !p.Contains("COM1") select p);

            if (autoPort.Count() != 0)
            {
                SelectedComPort = autoPort.Last();
            }

            foreach (var p in ports)
            {
                AvailableComPorts.Add(p);
            }
        }