示例#1
0
 public void Init_SerialPort(
     ref System.IO.Ports.SerialPort serPort,
     System.IO.Ports.SerialDataReceivedEventHandler recFunction,
     int baudRate,
     string comName,
     System.IO.Ports.Parity parity,
     System.IO.Ports.StopBits stopBits,
     int dataBits)
 {
     serPort          = new System.IO.Ports.SerialPort();
     serPort.BaudRate = baudRate;
     serPort.PortName = comName;
     serPort.Parity   = parity;
     serPort.StopBits = stopBits;
     serPort.DataBits = dataBits;
     try
     {
         serPort.Open();
         serPort.DataReceived += recFunction;
         ErroMsg    = string.Empty;
         IsPortOpen = true;
     }
     catch
     {
         ErroMsg = "端口 " + serPort.PortName + " 不能打开!";
     }
 }
示例#2
0
 public void Init_SerialPort(
     ref System.IO.Ports.SerialPort serPort,
     System.IO.Ports.SerialDataReceivedEventHandler recFunction,
     int baudRate,
     string comName)
 {
     Init_SerialPort(ref serPort, recFunction, baudRate, comName, System.IO.Ports.Parity.None, System.IO.Ports.StopBits.One, 8);
 }
示例#3
0
        /// <summary>
        /// Connect and attach an event handle
        /// </summary>
        public void Connect()
        {
            lock (ThisLock)
            {
                string logText;
                try
                {
                    logText = "Connecting VIS0TT port...";
                    log.AppendText(logText);
                    System.Diagnostics.Debug.WriteLine(logText);
                    if (Port == null)
                    {
                        Port = new System.IO.Ports.SerialPort();
                    }
                    if (handlerDataReceived == null)
                    {
                        handlerDataReceived = new System.IO.Ports.SerialDataReceivedEventHandler(Port_DataReceived);
                        Port.DataReceived  += handlerDataReceived;
                    }

                    if (Port.IsOpen)
                    {
                        Port.Close();
                    }
                    Port.PortName  = _portName;
                    Port.BaudRate  = 9600;
                    Port.DataBits  = 8;
                    Port.StopBits  = System.IO.Ports.StopBits.One;
                    Port.Handshake = System.IO.Ports.Handshake.None;
                    Port.Parity    = System.IO.Ports.Parity.None;
                    Port.Encoding  = System.Text.Encoding.Default;
                    //_portDisp.WriteTimeout = 70;
                    Port.ReadTimeout = _readTimeout;
                    Port.RtsEnable   = false;
                    Port.DtrEnable   = false;
                    Port.Open();

                    System.Threading.Thread.Sleep(500);
                    logText = _portName + " is Opened for VIS0TT.";
                    log.AppendText(logText);
                    System.Diagnostics.Debug.WriteLine(logText);

                    /* Talk */
                    Port.WriteLine("VIS0TT");
                    logText = _portName + " is Opened for VIS0TT.";
                    log.AppendText(logText);
                    System.Diagnostics.Debug.WriteLine(logText);
                }
                catch (Exception ex) { log.AppendText(_portName + ":" + ex.Message); throw ex; }
            }
        }
示例#4
0
 public SerialPortListener(System.IO.Ports.SerialPort serialport)
 {
     port               = serialport;
     handler            = new System.IO.Ports.SerialDataReceivedEventHandler(port_DataReceived);
     port.DataReceived += handler;
 }