Open() public method

public Open ( ) : void
return void
        public SerialDevice(string portName, int baudRate, Parity parity, int dataBits, StopBits stopBits, string returnToken = "\n")
        {
            _dataReading = string.Empty;
            _dataQueue = new ConcurrentQueue<string>();

            _timeCounter = new Stopwatch();
            _timeCounter.Start();

            _COMPort = new SerialPort(portName, baudRate, parity, dataBits, stopBits);

            _returnToken = returnToken;

            _COMPort.NewLine = _returnToken;
            _COMPort.RtsEnable = true;
            _COMPort.DtrEnable = true;

            _COMPort.ReadTimeout = SerialPort.InfiniteTimeout;
            _COMPort.WriteTimeout = SerialPort.InfiniteTimeout;

            _COMPort.Open();

            if (!_COMPort.IsOpen)
                _COMPort.Open();
            if (!_COMPort.IsOpen)
                throw new Exception("Can't connect to the COM port!");

            _serialThread = new Thread(new ThreadStart(GetSerialDataContinious));
            _serialThread.Priority = ThreadPriority.Normal;
            _serialThread.Name = string.Format("SerialHandle{0}", _serialThread.ManagedThreadId);

            _communicatyionIsActive = true;
            _serialThread.Start();
        }
Ejemplo n.º 2
0
        //点击发送按钮事件的响应
        private void buttonfs_Click(object sender, EventArgs e)
        {
            //ASCII规则 comm.Write(this.textBoxfs.Text);
            //如果写错了一些,我们允许的,只用正则得到有效的十六进制数

            /*MatchCollection mc = Regex.Matches(textBoxfs.Text, @"(?i)[\da-f]{2}");
             * //填充到这个临时列表中
             * List<byte> buf = new List<byte>();
             * //依次添加到列表中
             * foreach (Match m in mc)
             * {
             *  buf.Add(byte.Parse(m.Value, System.Globalization.NumberStyles.HexNumber));
             * }
             */
            //转换列表为数组后发送
            try
            {
                if (!comm.IsOpen)
                {
                    comm.Open();
                }
            }
            //打开失败,抛出异常
            catch (Exception ex)
            {
                //捕获到异常信息,创建一个新的comm对象,之前的不能用了。
                comm = new SerialPort();
            }
            comm.Write("211");
        }
Ejemplo n.º 3
0
 public void StartConnection()
 {
     ComPort.Open();            //打开端口
     ReadTimer.Interval  = 100; //100ms
     WriteTimer.Interval = 100; //100ms
     WriteTimer.Start();
     ReadTimer.Start();
 }
Ejemplo n.º 4
0
        private void Start_Click(object sender, EventArgs e)
        {
            Button B = sender as Button;

            try
            {
                switch (B.Text)
                {
                case "开始":
                {
                    if (!serialPort1.IsOpen)
                    {
                        serialPort1.PortName = 串口选择.Text;       //读取选择的串口
                        serialPort1.Open();
                    }
                    else
                    {
                        if (serialPort1.PortName != 串口选择.Text)
                        {
                            serialPort1.Close();
                            serialPort1.PortName = 串口选择.Text;       //读取选择的串口
                            serialPort1.Open();
                        }
                    }
                    Display.Columns[1].ReadOnly = true;
                    timer1.Start();
                    //timer1.Enabled = true;

                    B.Text      = "停止";
                    B.BackColor = Color.Lime;      //加上颜色更显眼
                    B.Cursor    = Cursors.Hand;    //设定鼠标样式
                } break;

                case "停止":
                {
                    timer1.Stop();
                    Thread.Sleep(160);
                    serialPort1.Close();

                    Display.Columns[1].ReadOnly = false;
                    for (int num = 0; num < 16; num++)
                    {
                        Display.Rows[num].Cells[2].Value = "-";
                        Display.Rows[num].Cells[3].Value = "-";
                    }


                    B.Text      = "开始";
                    B.BackColor = SystemColors.Control; //加上颜色更显眼
                    B.Cursor    = Cursors.Arrow;        //设定鼠标样式
                } break;
                }
            }
            catch (Exception ex)//
            {
                MessageBox.Show(ex.Message);
            }
        }
Ejemplo n.º 5
0
        public void SendMsg(string senStr)
        {
            serialPort1.Open();

            byte[] myByte = StringToByte_2(senStr);

            serialPort1.Write(myByte, 0, myByte.Length);
            serialPort1.Close();
        }
Ejemplo n.º 6
0
 private void _open_ser_out()
 {
     if (_ser_out.IsOpen)
     {
         _ser_out.Close();
     }
     _ser_out.PortName = "COM" + _serial_port.ToString();
     try
     {
         _ser_out.Open();
     }
     catch
     {
     }
 }
Ejemplo n.º 7
0
 public bool Open(string com, int BaudRate, string Parity1, int DataBits, string StopBits1)
 {
     lock (lock2)
     {
         try
         {
             if (serialPort.IsOpen)
             {
                 flag = true;
                 return(flag);
             }
             if (Parity1 == "1")
             {
                 serialPort.Parity = Parity.Even;//偶效验
             }
             else if (Parity1 == "2")
             {
                 serialPort.Parity = Parity.None;//偶效验
             }
             else if (Parity1 == "3")
             {
                 serialPort.Parity = Parity.Odd;//偶效验
             }
             serialPort.ReadBufferSize = 1024;
             serialPort.PortName       = com;
             serialPort.BaudRate       = BaudRate; //波特率9600;
             serialPort.DataBits       = DataBits; //数据位8
             if (StopBits1 == "1")
             {
                 serialPort.StopBits = StopBits.One;//停止位
             }
             else if (StopBits1 == "2")
             {
                 serialPort.StopBits = StopBits.Two;//停止位
             }
             serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceived);
             serialPort.Open();
             flag = true;
             return(flag);
         }
         catch (Exception)
         {
             //   MessageBox.Show("请确认连接端口 " + com + " 失败或已连接");
             flag = false;
             return(flag);
         }
     }
 }
Ejemplo n.º 8
0
 public XmlElement GetTemperature(string port, string baudRate)
 {
     try
     {
         _serialPort = new SerialPort(port);
         _serialPort.BaudRate = Convert.ToInt32(baudRate);
         _serialPort.Parity = Parity.None;
         _serialPort.StopBits = StopBits.One;
         _serialPort.DataBits = 8;
         _serialPort.Handshake = Handshake.None;
         _serialPort.RtsEnable = true;
         _serialPort.ReadTimeout = 1000;
         if (_serialPort.IsOpen)
         {
             _serialPort.Close();
             _serialPort.Open();
         }
         else
         {
             _serialPort.Open();
         }
         Thread.Sleep(1000);
         count = _serialPort.BytesToRead;
         if (count < 1)
         {
             throw new Exception("No Data to Read..."+count);
         }
         else
         {
             while (count > 0)
             {
                 int byteData = _serialPort.ReadByte();
                 data = data + Convert.ToChar(byteData);
                 count--;
             }
         }
         _serialPort.DiscardOutBuffer();
         _serialPort.Close();
         _result = GetXML(data.Trim());
     }
     catch (Exception ex)
     {
         if (_serialPort.IsOpen)
             _serialPort.Close();
         _result = GetExceptionXML(ex.ToString());
     }
     return _result;
 }
 public SerialLcdDriver(string portName = SerialPorts.COM1)
 {
     //initialize
     port = new SerialPort(portName, 9600, Parity.None, 8, StopBits.One);
     port.Open();
     EraseScreen();
 }
Ejemplo n.º 10
0
        public Device(Descriptor descriptor, int baudRate)
        {
            Descriptor = descriptor;

            port = new SerialPort(
                portName: descriptor.Port,
                baudRate: baudRate,
                parity: Parity.None,
                dataBits: 8,
                stopBits: StopBits.One);

            port.ErrorReceived += (s, e) =>
            {
                throw new ApplicationException(string.Format(
                    "Serial error: {0}", e.EventType));
            };

            port.DtrEnable = false;
            port.Open();
            Thread.Sleep(50);
            port.DtrEnable = true;

            reader = new BinaryReader(port.BaseStream);
            writer = new BinaryWriter(port.BaseStream);

            port.ReadTimeout = 5000;

            byte r;
            do r = reader.ReadByte();
            while (r != ready);

            port.ReadTimeout = 500;
        }
Ejemplo n.º 11
0
    public void Connect(string name)
    {
        if (serialPort == null)
        {
            serialPort = new System.IO.Ports.SerialPort();
        }

        if (name == "")
        {
            return;
        }

        if (serialPort.IsOpen)
        {
            serialPort.Close();
        }

        serialPort.BaudRate       = portSpeed;
        serialPort.PortName       = name;
        serialPort.ReadBufferSize = 65000;
        this.portName             = name;

        try
        {
            serialPort.Open();
            Logger_New_Line.Log("Serial Port:" + serialPort.PortName + " Opened!", 6, Color.black);
        }
        catch
        {
            Logger_New_Line.Log("Error while oppening Serial Port:" + serialPort.PortName + "!", 6, Color.red);
        }
    }
Ejemplo n.º 12
0
 public void Open()
 {
     if (!mSerialPort.IsOpen)
     {
         mSerialPort.Open();
     }
 }
Ejemplo n.º 13
0
 private bool DetectSerialCom()
 {
     foreach (var portName in SerialPort.GetPortNames())
     {
         _serialPort = new SerialPort(portName, 38400, Parity.None, 8, StopBits.One) { ReadTimeout = 10 };
         try
         {
             _serialPort.Open();
         }
         catch (IOException)
         {
             continue;
         }
         try
         {
             _serialPort.Write("T");
             int read = _serialPort.ReadChar();
             if ((char)read == 'T')
                 return true;
         }
         catch (Exception)
         {
             continue;
         }
     }
     return false;
 }
Ejemplo n.º 14
0
 public HYDisplay()
 {
     try
     {
         String portName = PosConfiguration.Get("DisplayComPort");
         serialPort = new SerialPort(portName);
         if (!serialPort.IsOpen)
         {
             serialPort.ReadTimeout = 2048;
             serialPort.Open();
             Write(ledsOff, 0, 6);
             Write(initializeDisplay, 0, 3);
             serialPort.Write(horizontalScrollMode, 0, horizontalScrollMode.Length);
             System.Threading.Thread.Sleep(100);
             serialPort.Write(normalMode, 0, normalMode.Length);
         }
     }
     catch (UnauthorizedAccessException ex)
     {
         throw ex;
     }
     catch
     {
         Display.Log.Fatal("HYDisplay:HyDisplay - Exception {0} is {1}", serialPort.PortName, serialPort.IsOpen ? "Open" : "Closed");
     }
 }
Ejemplo n.º 15
0
        public GT730FLSController(string portName)
        {
            _com = new SerialPort(portName, 38400, Parity.None, 8, StopBits.One);

            _com.ReadTimeout = READ_TIMEOUT;
            _com.Open();
        }
Ejemplo n.º 16
0
    int score = 0; //here you can take the value from the thread
    // Use this for initialization
    void Start()
    {
        if ((port = new System.IO.Ports.SerialPort("COM5", 9600)) != null)
        {
            port.Close();
            port.Open();
        }
        Debug.Log("created serial");

        float scalevalue;

        if (Screen.width / 729f < Screen.height / 423f)
        {
            scalevalue = Screen.width / 729f;
        }
        else
        {
            scalevalue = Screen.height / 423f;
        }
        mytext.rectTransform.localScale = new Vector3(scalevalue, scalevalue, 1);


        float offset = 0.041f * Screen.width;

        mytext.rectTransform.anchoredPosition = new Vector2((Screen.width / (-2f)) + offset + (mytext.rectTransform.sizeDelta.x * scalevalue / 2f), (Screen.height / 2f) - offset - (mytext.rectTransform.sizeDelta.y * scalevalue / 2f));
    }
Ejemplo n.º 17
0
        public SerialGRBLInterface(string PortName, int BaudRate)
        {
            // Default Settings
            System.IO.Ports.SerialPort sport = new System.IO.Ports.SerialPort();
            this.Portname   = PortName;
            sport.PortName  = this.Portname;
            sport.BaudRate  = BaudRate;
            sport.Parity    = System.IO.Ports.Parity.None;
            sport.DataBits  = 8;
            sport.StopBits  = System.IO.Ports.StopBits.One;
            sport.Handshake = System.IO.Ports.Handshake.None;
            // Serial Port Time Outs
            sport.WriteTimeout = 200;
            sport.ReadTimeout  = 200;
            try
            {
                sport.Open();
                PortOpened(Portname, BaudRate);
            }
            catch (Exception ex)
            {
                OpenPortFailed(this, new EventArgs());
            }

            SerialInterface = sport;
        }
Ejemplo n.º 18
0
        private bool sendSMS(string port, string phoneno, string msg)
        {
            bool status = false;

            try
            {
                System.IO.Ports.SerialPort sport = new System.IO.Ports.SerialPort();
                sport.PortName = port;
                sport.BaudRate = 9600;
                sport.DataBits = 8;
                sport.StopBits = StopBits.One;
                sport.Parity   = Parity.None;
                sport.Open();
                sport.Write(@"AT+CMGF=1" + (char)(13));
                sport.Write(@"AT+CMGS=" + (char)(34) + phoneno + (char)(34) + (char)(13));
                sport.Write(@msg + (char)(13) + (char)(26));
                sport.Close();
                status = true;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            return(status);
        }
Ejemplo n.º 19
0
 public async Task <bool> Connect()
 {
     if (_serial == null)
     {
         _serial           = new SerialPort();
         _serial.PortName  = Name;
         _serial.BaudRate  = Baud;
         _serial.Parity    = Parity;
         _serial.DataBits  = DataBits;
         _serial.StopBits  = StopBits;
         _serial.Handshake = Handshake;
     }
     try
     {
         if (!_serial.IsOpen)
         {
             await Task.Factory.StartNew(() => _serial.Open());
         }
         Stream = _serial.BaseStream;
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
Ejemplo n.º 20
0
 public static void OpenDrawer()
 {
     System.IO.Ports.SerialPort serialPort1 = new System.IO.Ports.SerialPort();
     serialPort1.PortName  = CashDrawPortName;
     serialPort1.Encoding  = Encoding.ASCII;
     serialPort1.BaudRate  = Convert.ToInt32(CashDrawBaudRate);
     serialPort1.Parity    = System.IO.Ports.Parity.None;
     serialPort1.DataBits  = Convert.ToInt32(CashDrawDataBits);
     serialPort1.StopBits  = System.IO.Ports.StopBits.One;
     serialPort1.DtrEnable = true;
     try
     {
         serialPort1.Open();
         serialPort1.Write(Char.ConvertFromUtf32(27) + char.ConvertFromUtf32(64));
         serialPort1.Write(char.ConvertFromUtf32(27) +
                           char.ConvertFromUtf32(112) +
                           char.ConvertFromUtf32(0) +
                           char.ConvertFromUtf32(5) +
                           char.ConvertFromUtf32(5));
         serialPort1.Close();
         serialPort1.Dispose();
         serialPort1 = null;
     }
     catch (Exception)
     {
         serialPort1.Close();
         serialPort1.Dispose();
         serialPort1 = null;
         // MessageBox.Show(ex.ToString() + "----" + CashDrawPortName + "----" + CashDrawBaudRate.ToString() + "----" + CashDrawDataBits.ToString());
     }
 }
Ejemplo n.º 21
0
        // private static System.IO.Ports.SerialPort serialPort1 = new System.IO.Ports.SerialPort();
        public static void display(string Line1, string Line2, string Line3, string Line4)
        {
            System.IO.Ports.SerialPort serialPort1 = new System.IO.Ports.SerialPort();
            try
            {
                serialPort1.PortName  = PortName;
                serialPort1.BaudRate  = Convert.ToInt32(BaudRate);
                serialPort1.DataBits  = Convert.ToInt32(DataBits);
                serialPort1.Parity    = Parity.None;
                serialPort1.StopBits  = StopBits.One;
                serialPort1.DtrEnable = true;
                serialPort1.RtsEnable = true;
                serialPort1.Open();
                serialPort1.Write(new byte[] { 0x0C }, 0, 1);
                // byte[] data = Encoding.ASCII.GetBytes(Line1 + space1 + Line2); // your byte data;
                serialPort1.Write(Line1 + Line2);

                //Goto Bottem Line
                //serialPort1.Write(new byte[] { 0x0A, 0x0D }, 0, 2);
                //byte[] data1 = Encoding.ASCII.GetBytes(Line3 + space2 + Line4); // your byte data;
                serialPort1.Write(Line3 + Line4);


                serialPort1.Close();
                serialPort1.Dispose();
                serialPort1 = null;
            }
            catch (Exception)
            {
                serialPort1.Close();
                serialPort1.Dispose();
                serialPort1 = null;
                //MessageBox.Show(ex.ToString() + "----"+ PortName+"----"+ BaudRate.ToString()+"----"+ DataBits.ToString());
            }
        }
Ejemplo n.º 22
0
        public GenericCATRadio(RadioConnectionSettings connectionSettings)
        {
            ConnectionSettings = connectionSettings;
            m_SerialPort = new SerialPort { PortName = connectionSettings.Port, BaudRate = connectionSettings.BaudRate, DtrEnable = connectionSettings.UseDTR, RtsEnable = connectionSettings.UseRTS };
            switch (connectionSettings.FlowControl)
            {
                case FlowControl.None:
                    m_SerialPort.Handshake = Handshake.None;
                    break;
                case FlowControl.DsrDtr:
                case FlowControl.RtsCts:
                    m_SerialPort.Handshake = Handshake.RequestToSend;
                    break;
                case FlowControl.XonXoff:
                    m_SerialPort.Handshake = Handshake.XOnXOff;
                    break;
            }
            m_SerialPort.Open();

            string logsFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Cloudlog\\Logs");
            if (!Directory.Exists(logsFolder))
                Directory.CreateDirectory(logsFolder);
            string logPath = Path.Combine(logsFolder, "CloudlogCAT-" + DateTime.Now.ToString("yyyy-MM-dd-hhmmss") + ".txt");
            m_LogWriter = new StreamWriter(logPath);
            m_LogWriter.AutoFlush = true;

            m_PollThread = new Thread(PollMethod);
            m_PollThread.IsBackground = true;
            m_PollThread.Start();
        }
Ejemplo n.º 23
0
        public void Init()
        {
            try
            {
                try
                {
                    if (Port != null)
                    {
                        ConsoleOutputLogger.WriteLine("[COM] COM-Port soll reinitialisiert werden - schliesse alten COM-Port.");
                        Port.Close();
                    }
                }
                catch (Exception e)
                {
                    ConsoleOutputLogger.WriteLine("[FEHLER@COM] Beim Versuch den COM-Port zu schliessen ist ein Fehler aufgetreten.");
                    ConsoleOutputLogger.WriteLine("[FEHLER@COM] "+e.Message);
                }

                Port = new SerialPort("COM"+Convert.ToInt32(FFN_Switcher.Properties.Settings.Default.Comport));
                Port.Open();
                ConsoleOutputLogger.WriteLine("[COM] COM-Port " + Convert.ToInt32(FFN_Switcher.Properties.Settings.Default.Comport) + " geöffnet und bereit.");
            }
            catch (Exception e)
            {
                ConsoleOutputLogger.WriteLine("[FEHLER@COM] " + e.Message);
                ConsoleOutputLogger.WriteLine("[COM] Kann COM-Port nicht öffnen - bitte Konfiguration überprüfen.");
                Pause();
            }
        }
Ejemplo n.º 24
0
        /*----------------------------
        * 接続ボタンを押した時の処理
        *---------------------------*/
        private void connect_Click(object sender, RoutedEventArgs e)
        {
            // ポートが選択されている場合
            if (cmb.SelectedValue != null)
            {
                // ポート名を取得
                var port = cmb.SelectedValue.ToString();
                // まだポートに繋がっていない場合
                if (serialPort == null)
                {
                    // serialPortの設定
                    serialPort               = new SerialPort();
                    serialPort.PortName      = port;
                    serialPort.BaudRate      = Int32.Parse(cmb_baud.Text);
                    serialPort.DataBits      = 8;
                    serialPort.Parity        = Parity.None;
                    serialPort.StopBits      = StopBits.One;
                    serialPort.Encoding      = Encoding.UTF8;
                    serialPort.WriteTimeout  = 100000;
                    serialPort.DtrEnable     = true;
                    serialPort.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(serialPort_DataReceived);

                    // シリアルポートに接続
                    try
                    {
                        // ポートオープン
                        serialPort.Open();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                }
            }
        }
Ejemplo n.º 25
0
 public LCD43()
 {
     comLcdPri = new SerialPort(SerialPorts.COM1, 115200, Parity.None, 8, StopBits.One);
     comLcdPri.DataReceived += new SerialDataReceivedEventHandler(Lcd_DataReceived);
     comLcdPri.ReadTimeout = 100;
     comLcdPri.Open();
 }
Ejemplo n.º 26
0
        public MidiDriver(Cpu.Pin resetPin, string serialPortName = Serial.COM2)
        {
            _resetPinPort = new OutputPort(resetPin, false);

            _serialPort = new SerialPort(serialPortName, 31250, Parity.None, 8, StopBits.One);
            _serialPort.Open();
        }
Ejemplo n.º 27
0
        private void btniniciar_Click(object sender, EventArgs e)
        {
            MSComm = new SerialPort();
            try
            {
                MSComm.PortName = cmbpuerto.Text.ToString();
                MSComm.BaudRate = Convert.ToInt32(cmbbaudios.Text.Trim());
                MSComm.Parity = System.IO.Ports.Parity.None;
                MSComm.DataBits = 8;
                MSComm.StopBits = System.IO.Ports.StopBits.One;
                MSComm.Handshake = System.IO.Ports.Handshake.None;
                MSComm.ReceivedBytesThreshold = 1;

                MSComm.DataReceived += serialPort_DataReceived;
                MSComm.Open();
                btniniciar.Enabled = false;
                btndetener.Enabled = true;
                Cambiar_Estado(false);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            CODBAR.Focus();
        }
Ejemplo n.º 28
0
        // Connect to transmitter via serial port
        public void SerialConnect()
        {
            if (BaudRate != 0 && PortName != "None")
            {
                port = new SerialPort(PortName, BaudRate);
                port.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
                try
                {
                    port.Open();
                }
                catch
                { //todo 
                }

                if (port.IsOpen)
                {
                    Console.WriteLine(PortName + " is open");
                }
                else
                {
                    Console.WriteLine("Unable to open " + PortName);
                }
            }
            else
            {
                Console.WriteLine("Port name or baud rate not set prior to opening connection");
            }
        }
Ejemplo n.º 29
0
        /// <summary>
        /// Determines whether [is device connected].
        /// </summary>
        public static bool IsDeviceConnected(string portName)
        {
            using (var sp = new System.IO.Ports.SerialPort(portName, baudRates, parity, dataBits, stopBits))
            {
                sp.Open();

                sp.WriteLine(SendAcknoledge);

                int byteToRead = sp.BytesToRead;
                var inputData  = new byte[byteToRead];

                sp.Read(inputData, 0, byteToRead);



                var readData = System.Text.Encoding.Default.GetString(inputData);

                Console.WriteLine(string.Format(PortFoundMessage, sp.PortName));
                Console.WriteLine(readData);

                var result = readData.StartsWith(ReceivedAcknoledge);

                if (result)
                {
                    SetupDevice(sp, SetupMode.OneData);
                }

                sp.Close();

                return(result);
            }
        }
Ejemplo n.º 30
0
 public bool MyInit(ComportCfg comportCfg, bool bClose = false)
 {
     try
     {
         comPort = new System.IO.Ports.SerialPort();
         if (comPort != null && comportCfg != null)
         {
             this.comportCfg = comportCfg;
             GetPortProfileData(comportCfg);
             comPort.PortName       = comportData.Port;
             comPort.BaudRate       = comportData.BaudRate;
             comPort.Parity         = comportData.parity;
             comPort.StopBits       = comportData.stopbits;
             comPort.DataBits       = comportData.DataBits;
             comPort.ReadTimeout    = comportData.Timeout;
             comPort.WriteTimeout   = comportData.Timeout;
             comPort.ReadBufferSize = 4000;  //4000个字节
             if (comPort.IsOpen)
             {
                 comPort.Close();
             }
             if (!bClose)
             {
                 comPort.Open();
                 return(comPort.IsOpen);
             }
             return(true);
         }
         return(false);
     }
     catch (Exception ex)
     {
         return(false);
     }
 }
Ejemplo n.º 31
0
        public void Open()
        {
            Close();
            port = new System.IO.Ports.SerialPort();
            if (PortName == null)
            {
                throw new IOException("Serial port number not set");
            }
            if (baudRate == 0)
            {
                throw new IOException("Baud rate not set");
            }

            port.PortName     = PortName;
            port.BaudRate     = (int)baudRate;
            port.DataBits     = dataBits;
            port.DtrEnable    = dtrControl;
            port.NewLine      = newLine;
            port.Parity       = parity;
            port.ReadTimeout  = (int)readTimeout;
            port.RtsEnable    = rtsControl;
            port.StopBits     = stopBits;
            port.WriteTimeout = (int)writeTimeout;

            port.Open();
            while (port.IsOpen == false)
            {
            }
            isOpen = true;
        }
Ejemplo n.º 32
0
        public void Connect(string portName, int baudRate = 115200)
        {
            try
            {
                serialPort = new SerialPort(portName);

                serialPort.BaudRate = baudRate;
                serialPort.Parity = Parity.None;
                serialPort.StopBits = StopBits.One;
                serialPort.DataBits = 8;
                serialPort.DataReceived += serialPort_DataReceived;

                serialPort.Open();

                isConnected = true;

                DebugPortState(String.Format("Connected to port {0}.", portName));

                if (OnConnectedEvent != null)
                    OnConnectedEvent(this,null);
            }
            catch (Exception ex)
            {
                DebugPortState(String.Format("Can`t connect to port {0}.", portName));

                if (OnConnectingError != null)
                    OnConnectingError(ex);
            }
        }
Ejemplo n.º 33
0
        public static void Main()
        {
            // Instantiate the communications
            // port with some basic settings
            SerialPort port = new SerialPort(
              "COM1", 9600, Parity.None, 8, StopBits.One);

            // Open the port for communications
            port.Open();
            OutputPort ledPort = new OutputPort(Pins.ONBOARD_LED, false);
            byte[] buffer = new byte[message.Length];
            buffer = System.Text.Encoding.UTF8.GetBytes(message);
            try
            {
                while (true)
                {
                    ledPort.Write(true);
                    Thread.Sleep(200);
                    port.Write(buffer, 0, buffer.Length);
                    ledPort.Write(false);
                    Thread.Sleep(5000);
                }

            }
            finally
            {
                port.Close();
            }
        }
Ejemplo n.º 34
0
        public void UseStartFlash()
        {
            if (!_serial_port.IsOpen)
            {
                string serialName = null;
                try                                           ///异常机制
                {
                    serialName            = _ComNum_cmb.Text; //设置串口号,获取外部选择串口
                    _serial_port.PortName = serialName;

                    if (_serial_port.IsOpen == true)//如果打开状态,则先关闭一下
                    {
                        _serial_port.Close();
                    }
                    _serial_port.Open(); //打开串口
                }
                catch (System.Exception ex)
                {
                }
            }
            else
            {
                _serial_port.Close(); //关闭串口
            }
        }
Ejemplo n.º 35
0
        //Connect buttons
        private void connect_serial_button_Click(object sender, EventArgs e)
        {
            if (null == thread_receive_from_serial_port_)
            {
                if (-1 == portlist_comboBox.SelectedIndex)
                {
                    MessageBox.Show("Select Com port");
                    return;
                }
                string port_name = portlist_comboBox.SelectedItem.ToString(); // get serial port name
                serial_port_ = new SerialPort(port_name, 9600); // set port name and speed 9600 bits/second
                serial_port_.Open(); // connect to port

                thread_receive_from_serial_port_ = new Thread(receive_from_serial_port);
                thread_receive_from_serial_port_.Start();
                connect_serial_button.Text = "Disconnect";
                
                calibrate_button.Enabled = false;
                reset_button.Enabled = false;
            }
            else
            {
                thread_receive_from_serial_port_.Abort();
                thread_receive_from_serial_port_ = null;
                connect_serial_button.Text = "Connect";

                serial_port_.Close();
                serial_port_ = null;

                calibrate_button.Enabled = true;
                reset_button.Enabled = true;
            }
        }
Ejemplo n.º 36
0
        bool open_serialport()
        {
            bool bR = true;

            try
            {
                if (this.isPortOpen == false)
                {
                    // 设置串口参数
                    if (!comport.IsOpen)
                    {
                        if (this.cmbPortName.Text == string.Empty)
                        {
                            MessageBox.Show("请先指定串口!");
                            return(false);
                        }
                        comport.PortName = this.cmbPortName.Text;
                        comport.Open();//尝试打开串口
                        this.isPortOpen = true;
                    }
                }
            }
            catch (Exception ex)//进行异常捕获
            {
                MessageBox.Show(ex.Message);
                bR = false;
            }
            return(bR);
        }
Ejemplo n.º 37
0
 public override void Open()
 {
     if (!_port.IsOpen)
     {
         _port.Open();
     }
 }
Ejemplo n.º 38
0
 public void init(COMServer tmpcomServer, int j)
 {
     comServer = tmpcomServer;
     while (mRun)
     {
         Console.WriteLine("new SerialPort()", Environment.NewLine);
         portnr = j;
         _serialPort = new SerialPort();
         int i = 0;
         foreach (string s in SerialPort.GetPortNames())
         {
             if (j == i)
             {
                 Console.WriteLine(s);
                 _serialPort.PortName = s;
             }
             i++;
         }
         _serialPort.ReadTimeout = 500;
         _serialPort.WriteTimeout = 500;
         _serialPort.BaudRate = 9600;
         _serialPort.Parity = (Parity)Enum.Parse(typeof(Parity), _serialPort.Parity.ToString());
         _serialPort.DataBits = int.Parse(_serialPort.DataBits.ToString());
         _serialPort.StopBits = (StopBits)Enum.Parse(typeof(StopBits), _serialPort.StopBits.ToString());
         _serialPort.Handshake = (Handshake)Enum.Parse(typeof(Handshake), _serialPort.Handshake.ToString());
         _serialPort.Open();
         _serialPort.DataReceived += new SerialDataReceivedEventHandler(sp_DataReceived);
         while (_serialPort.IsOpen == true)
         {
             Thread.Sleep(50);
         }
         Console.WriteLine("closed", Environment.NewLine);
     }
     Console.WriteLine("eind init", Environment.NewLine);
 }
Ejemplo n.º 39
0
        public void CreatePort(string portName)
        {
            // 默认:115200,无校验, 8数据位,1停止位
            if (sensorPort == null)
            {
                sensorPort = new System.IO.Ports.SerialPort(portName,
                                                            115200, System.IO.Ports.Parity.None, 8, System.IO.Ports.StopBits.One);
            }
            // 重新创建新的串口
            else if (portName != sensorPort.PortName)
            {
                sensorPort.Close();
                sensorPort.Dispose();

                sensorPort = new System.IO.Ports.SerialPort(portName,
                                                            115200, System.IO.Ports.Parity.None, 8, System.IO.Ports.StopBits.One);
            }

            if (sensorPort.IsOpen == false)
            {
                sensorPort.Open();

                sensorPort.ReadTimeout = 1000;

                sensorPort.WriteTimeout = 10;
            }
        }
Ejemplo n.º 40
0
        //Methods - Helper
        private bool LoadDataToCombobox(ComboBox combobox,  ref SerialPort _GLOBAL_PORT, string _GLOBAL_PORT_NAME)
        {
            Dictionary<string, string> dictionary = new Dictionary<string, string>();
            try
            {
                //Create items for Combobox
                foreach (var port in SerialPort.GetPortNames())
                {
                    dictionary.Add(port, port);
                }
                combobox.DataSource = new BindingSource(dictionary, null);
                combobox.DisplayMember = "Name";
                combobox.ValueMember = "Value";
                combobox.SelectedIndex = -1;

                //Query Ports (if they have in xml database)
                PortSetting portSetting = service.SelectByName(_GLOBAL_PORT_NAME);
                if (portSetting != null) { combobox.SelectedValue = portSetting.Value.ToString(); }

                //Open Ports 
                if (_GLOBAL_PORT.IsOpen) { _GLOBAL_PORT.Close(); }
                if (combobox.SelectedIndex != -1 && !_GLOBAL_PORT.PortName.Equals(combobox.SelectedValue.ToString()))
                {
                    _GLOBAL_PORT.PortName = combobox.SelectedValue.ToString();
                }
                _GLOBAL_PORT.Open();
            }
            catch
            {
                return false;
            }
            return true;
        }
Ejemplo n.º 41
0
 //        public Serial2Matlab(string port, int baudRate = 115200, Parity parity = Parity.None, int dataBits = 8, StopBits stopBits = StopBits.One)
 public Serial2Matlab()
 {
     serialPort = new SerialPort("COM43", 115200, Parity.None, 8, StopBits.One);
     serialPort.ReadTimeout = 2;
     serialPort.Open();
     serialPort.DiscardInBuffer();
 }
Ejemplo n.º 42
0
 private void button3_Click(object sender, EventArgs e)
 {//连接
     try
     {
         if (_SP != null)
         {
             _SP.Dispose();
         }
         _SP                = new SerialPort();
         _SP.PortName       = comboBox1.Text;
         _SP.BaudRate       = int.Parse(comboBox2.Text);
         _SP.DataBits       = int.Parse(comboBox3.Text);
         _SP.StopBits       = (StopBits)comboBox4.SelectedValue;
         _SP.ReadBufferSize = 1024;
         _SP.Parity         = (Parity)comboBox5.SelectedValue; //Parity.Even;
         _SP.DataReceived  += _SP_DataReceived;
         _SP.Open();
         panel2.BackColor = Color.Green;
     }
     catch (Exception ex)
     {
         panel2.BackColor = Color.Red;
         MessageBox.Show(ex.Message);
     }
 }
Ejemplo n.º 43
0
 private void _output()
 {
     if (!_ser_out.IsOpen)
     {
         try
         {
             _ser_out.Open();
             _ser_out.DtrEnable = _horn;
             _ser_out.RtsEnable = _shotclock_horn;
         }
         catch
         {
         }
     }
     while (true)
     {
         do
         {
             StringBuilder stringBuilder = new StringBuilder();
         }while (!_sending_active);
         try
         {
             foreach (string key in _fields.Keys)
             {
                 _ser_out.Write(2.ToString() + key.ToString() + "=" + _fields[key].ToString() + (object)'\x0003');
                 Thread.Sleep(_refresh_interval);
             }
         }
         catch
         {
         }
     }
 }
Ejemplo n.º 44
0
        private void Reading()
        {
            var currentPort = new SerialPort(_name, 115200);
            currentPort.Open();
            while (!stop)
            {
                var line = currentPort.ReadLine();
                try
                {
                    var strings = line.Replace("\r", "").Split(',');
                    var x = (int)int.Parse(strings[0]) / 16384.0F;
                    var y = (int)int.Parse(strings[1]) / 16384.0F;
                    var z = (int)int.Parse(strings[2]) / 16384.0F;
                    if (!_valuesInitialized)
                    {
                        _x = x;
                        _y = y;
                        _z = z;
                        _valuesInitialized = true;
                    }

                    _x = (_x*3 + x)/4;
                    _y = (_y*3 + y)/4;
                    _z = (_z*3 + z)/4;
                }
                catch (Exception)
                {

                }

                HasNew = true;
            }
        }
Ejemplo n.º 45
0
 public void Open()
 {
     if (!serialPort.IsOpen)
     {
         serialPort.Open();
     }
 }
Ejemplo n.º 46
0
        public void elecserialport_connect(String port, int baudrate, Parity parity, int databits, StopBits stopbits, Handshake flowcontrol)
        {
            DateTime dt  = DateTime.Now;
            String   dtn = dt.ToShortTimeString();


            try
            {
                elecsport = new System.IO.Ports.SerialPort(
                    port, baudrate, parity, databits, stopbits);
                elecsport.Handshake    = flowcontrol;
                elecsport.ReadTimeout  = 2000;
                elecsport.WriteTimeout = 2000;
                elecsport.Open();
                elecClose.IsEnabled   = true;
                elecConnect.IsEnabled = false;
                var serialnum = "";

                try
                {
                    elecsport.Write("SER" + "\r\n");
                    Thread.Sleep(55);
                    serialnum = Convert.ToString(elecsport.ReadExisting());
                } catch { }

                electxtReceive.AppendText("[" + dtn + "] " + "Connected\n");
                electxtReceive.AppendText("[" + dtn + "] " + "Serial Number: " + serialnum + "\n");
                //elecsport.DataReceived += new SerialDataReceivedEventHandler(elecsport_DataReceived);
            }
            catch (Exception ex) { MessageBox.Show(ex.ToString(), "Error"); }
        }
Ejemplo n.º 47
0
        static void Main(string[] args)
        {
            int i = 0;
            SerialPort SP = null;
            Console.WriteLine("Specify which comport you want to connect to:");
            
            foreach (string s in SerialPort.GetPortNames())
            {
                Console.WriteLine($"{i++,2} {s}");
            }
            int PortNo = int.Parse(Console.ReadLine());
            try
            {
                SP = new SerialPort(SerialPort.GetPortNames()[PortNo]);
                SP.Open();
                while(true)
                {
                    Console.Write(SP.ReadExisting());
                }
            }
            finally
            {
                if (SP.IsOpen)
                {
                    SP.Close();
                }
            }

            Console.Read();
        }
Ejemplo n.º 48
0
 // Start Comms
 private void start() {
     clearcontainers();
     arduino = new SerialPort(port, 9600);
     arduino.DataReceived += new SerialDataReceivedEventHandler(receivedTag);
     arduino.Open();
     STATUS = DEVICE_STATE_LISTENING;
 }
Ejemplo n.º 49
0
        static void Main(string[] args)
        {
            string result;
            int end = 0;
            SerialPort sp = new SerialPort("COM2");
            sp.BaudRate = 115200; // 56700;
            sp.NewLine = "\r\n";
            sp.Open();
            sendCommand(sp, "AT+RST", eWaitFor.eOK);
            Thread.Sleep(1000);
            sendCommand(sp, "AT+CWJAP=\"\",\"\"", eWaitFor.eOK | eWaitFor.eFAIL);
            Thread.Sleep(1000);
            sendCommand(sp, "AT+CWMODE=1", eWaitFor.eOK | eWaitFor.eNoChange);
            Thread.Sleep(1000);
            //sendCommand(sp, "AT+CWJAP=\"CBA_F1\",\"abc\"", eWaitFor.eOK);
            //sendCommand(sp, "AT+CWJAP=\"LumiaTk5276\",\"abc\"", eWaitFor.eOK);
            sendCommand(sp, "AT+CWJAP=\"edup-rt\",\"abc\"", eWaitFor.eOK);

            Thread.Sleep(1000);
            Console.WriteLine("IP: " + getIP(sp));
            sendCommand(sp, "AT+CIPMUX=1", eWaitFor.eOK);
            sendCommand(sp, "AT+CIPSTART=4,\"TCP\",\"google.com\",80", eWaitFor.eOK);
            sendCommand(sp, "AT+CIPSEND=4,18", eWaitFor.eGT);
            sp.Write("GET / HTTP/1.0\r\n\r\n");
            Thread.Sleep(5000); //Czekamy tu na internet
            result = sp.ReadExisting();
            Console.WriteLine(result);

            //sp.WriteLine("AT+CIFSR");
            //result = sp.ReadTo("OK\r");

            sp.Close();
        }
Ejemplo n.º 50
0
 public PortModel()
 {
     _serialPort = new SerialPort();
     _serialPort.Open();
     _serialPort.ReadTimeout = _readTimeout;
     _serialPort.WriteTimeout = _writeTimeout;
 }
Ejemplo n.º 51
0
 public void ComInitializ()
 {
     XMLW.XmlConfigRead();
     port.PortName = XMLW.COM;
     //Время ожидания записи и чтения с порта
     port.WriteTimeout = 50;
     port.ReadTimeout  = 50;
     //Настраиваем скорость обмена данными с телефоном - телефон не может обрабатывать данный на максимальной скорости
     port.BaudRate = 115200;
     //Другие необходимые настройки - подходит для большинства телефонов - но возможно придется настраивать:
     //port.BaudRate = 115200;
     port.Parity                 = Parity.None;
     port.DataBits               = 8;
     port.StopBits               = StopBits.One;
     port.Handshake              = Handshake.None;
     port.DataReceived          += new SerialDataReceivedEventHandler(OnDataReceived);
     port.ReceivedBytesThreshold = size_Off;
     port.ReadBufferSize         = 55000;
     try
     {
         port.Open();
         port.DtrEnable = true;
     }
     catch { MessageBox.Show("Ошибка открытия порта", "", MessageBoxButtons.OK, MessageBoxIcon.Information); }
 }
Ejemplo n.º 52
0
 public PortModel(string portName)
 {
     _serialPort = new SerialPort {PortName = portName};
     _serialPort.Open();
     _serialPort.ReadTimeout = _readTimeout;
     _serialPort.WriteTimeout = _writeTimeout;
 }
Ejemplo n.º 53
0
        /*
         *         public string ComPort = String.Empty;
        public int BaudRate = 110;
        public StopBits StopBits = StopBits.None;
        public int DataBits = 7;
        public Parity Parity = Parity.None;
         * */
        public BalanceReader(string comPort = "COM1", int baudRate = 9600, StopBits stopBits = StopBits.One,
            int dataBits = 7, Parity parity = Parity.Even, string sicsCommand = "SI", bool rts = false)
        {
            _sicsCommand = sicsCommand;

            if (comPort == String.Empty) comPort = "COM1";
            _port = new SerialPort
            {
                PortName = comPort,
                BaudRate = baudRate,
                StopBits = stopBits,
                DataBits = 7,
                Parity = Parity.Even,
                RtsEnable = rts
            };

            // from Page 39 of NewClassic Balances METTLER TOLEDO manual for MS-S / MS-L Models
            //_port.Handshake = Handshake.XOnXOff;

            if (_port.IsOpen == false)
            {
                try
                {
                    _port.Open();
                }
                catch (Exception)
                {
                    // port will not be open, therefore will become null
                }
            }

            _port.DataReceived += _port_DataReceived;
        }
        public void Start(string portName, int baudRate, Parity parity, int dataBits, StopBits stopBits)
        {
            if (!GetAvailablePorts().Contains(portName))
            {
                throw new Exception(string.Format("Unknown serial port: {0}", portName));
            }

            // Start the timer to empty the receive buffer (in case data smaller than MAX_RECEIVE_BUFFER is received)
            _bufferTimer = new Timer();
            _bufferTimer.Interval = BUFFER_TIMER_INTERVAL;
            _bufferTimer.Elapsed += _bufferTimer_Elapsed;
            _bufferTimer.Start();

            // Instantiate new serial port communication
            _serialPort = new SerialPort(portName, baudRate, parity, dataBits, stopBits);

            // Open serial port communication
            _serialPort.Open();

            // Check that it is actually open
            if (!_serialPort.IsOpen)
            {
                throw new Exception(string.Format("Could not open serial port: {0}", portName));
            }

            _serialPort.ReadTimeout = 100; // Milliseconds

            _readThread = new System.Threading.Thread(ReadThread);
            _readThreadRunning = true;
            _readThread.Start();
        }
Ejemplo n.º 55
0
 public void Open()
 {
     serial = new SerialPort(portName, boudRate);
     serial.DataReceived += new SerialDataReceivedEventHandler(Serial_DataReceived);
     serial.Open();
     Write("Hello there.");
 }
Ejemplo n.º 56
0
        public SerialController(SerialPort port)
        {
            _port = port;
            _port.Open();

            _port.DataReceived += (sender, args) => Console.Write("{0}", _port.ReadExisting());
        }
Ejemplo n.º 57
0
        /// <summary>
        ///     Simple Modbus serial ASCII master read holding registers example.
        /// </summary>
        public static void ModbusSerialAsciiMasterReadRegisters()
        {
            using (SerialPort port = new SerialPort("COM1"))
            {
                // configure serial port
                port.BaudRate = 9600;
                port.DataBits = 8;
                port.Parity = Parity.None;
                port.StopBits = StopBits.One;
                port.Open();

                // create modbus master
                IModbusSerialMaster master = ModbusSerialMaster.CreateAscii(port);

                byte slaveId = 1;
                ushort startAddress = 1;
                ushort numRegisters = 5;

                // read five registers		
                ushort[] registers = master.ReadHoldingRegisters(slaveId, startAddress, numRegisters);

                for (int i = 0; i < numRegisters; i++)
                    Console.WriteLine("Register {0}={1}", startAddress + i, registers[i]);
            }

            // output: 
            // Register 1=0
            // Register 2=0
            // Register 3=0
            // Register 4=0
            // Register 5=0
        }
Ejemplo n.º 58
0
 // Open the COM port with our settings
 public bool Open(string ComPort)
 {
     try
     {
         // If our port is open, close it
         if (_SerialPort.IsOpen)
         {
             _SerialPort.Close();
         }
         // Set all our properties
         _SerialPort.BaudRate = SERIAL_BAUD_RATE;
         _SerialPort.PortName = ComPort;
         _SerialPort.Parity   = SERIAL_PARITY;
         _SerialPort.StopBits = SERIAL_STOP_BITS;
         _SerialPort.DataBits = SERIAL_DATA_BITS;
         // Subscribe to the event handler
         _SerialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceived);
         // Actually open now
         _SerialPort.Open();
         // return successful
         return(true);
     }
     catch (Exception)
     {
     }
     // return failed
     return(false);
 }
Ejemplo n.º 59
0
        public Arduino(string name, string comPort)
        {
            _sp = new SerialPort(comPort);
            _sp.BaudRate = BaudRate;
            _sp.DtrEnable = false;

            // Try to open the COM-port
            try
            {
                _sp.Open();
            }
            catch (Exception)
            {
                // Must cleanup ressources.
                this.Dispose();
                // Relay exception to the application.
                throw;
            }

            // Add event for incomming data
            _sp.DataReceived += DataReceivedHandler;

            _tempSerialData = new StringBuilder();

            NamesAndPorts.Add(name, comPort);
            Name = name;
        }
        public double ReadData()
        {
            double Output = 0;

            try
            {
                SerialPortLaser.Open();
                SerialPortLaser.WriteLine("F");
                string input = SerialPortLaser.ReadLine();
                int    index = input.IndexOf("m");
                if (index > 0)
                {
                    input = input.Substring(0, index);
                }

                index  = input.LastIndexOf(":") + 2;
                input  = (input.Substring(index, input.Length - index));
                input  = input.Replace(".", ",");
                Output = Double.Parse(input);
            }
            catch (Exception ex)
            {
                //Ignore
            }
            SerialPortLaser.Close();
            return(Output);
        }