Esempio n. 1
0
        /// <summary>
        /// 接收数据(线程方法)
        /// </summary>
        public void RecvData(Fmain f1)
        {
            if (!MyPort.IsOpen)
            {
                MyPort.Open();
            }
            result = new byte[MyPort.BytesToRead];
            //Sresult= MyPort.ReadExisting();
            //MyPort.Read(result, 0, MyPort.BytesToRead);
            //f1.DataBox.AppendText(System.Text.Encoding.ASCII.GetString(result)+ "\n");

            #region 读取
            for (int i = 0; i < 64; i++)
            {
                MyPort.Read(result, 0, MyPort.BytesToRead);
                try
                {
                    CSinput[i] = Convert.ToDouble(System.Text.Encoding.ASCII.GetString(result));
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.ToString());
                }
            }
            #endregion
            //MyThread.Start();
            test();
        }
Esempio n. 2
0
 /// <summary>
 /// 打开串口方法(直接)
 /// </summary>
 /// <param name="f1">获得主窗体引用</param>
 public void OpenPort()
 {
     try
     {
         if (!MyPort.IsOpen)
         {
             MyPort.Open();
         }
     }
     catch (Exception e)
     {
         MessageBox.Show(e.ToString() + "\n" + "Open faild" + "\n" + "1.Check config" + "\n"
                         + "2.Check device available" + "\n" + "3.Check device driver", "Error");
     }
 }
Esempio n. 3
0
        /// <summary>
        /// (重载)打开控件所示串口
        /// </summary>
        /// <param name="f1"></param>
        public void OpenPort(Fmain f1)
        {
            try
            {
                if (!MyPort.IsOpen)
                {
                    #region 事务.串口打开
                    PortID          = f1.PortID.Text.ToString();
                    MyPort.PortName = f1.PortX.SelectedItem.ToString();
                    MyPort.BaudRate = Convert.ToInt32(f1.BaudX.SelectedItem.ToString());
                    switch (f1.CheckX.SelectedIndex)
                    {
                    case 0:
                        MyPort.Parity = Parity.None;
                        break;

                    case 1:
                        MyPort.Parity = Parity.Odd;
                        break;

                    case 2:
                        MyPort.Parity = Parity.Even;
                        break;

                    case 3:
                        MyPort.Parity = Parity.Mark;
                        break;

                    case 4:
                        MyPort.Parity = Parity.Space;
                        break;
                    }

                    MyPort.DataBits = Convert.ToInt32(f1.DataX.SelectedItem.ToString());

                    switch (f1.StopX.SelectedIndex)
                    {
                    case 0:
                        MyPort.StopBits = StopBits.One;
                        break;

                    case 1:
                        MyPort.StopBits = StopBits.Two;
                        break;

                    case 2:
                        MyPort.StopBits = StopBits.OnePointFive;
                        break;
                    }


                    #endregion
                    MyPort.Open();
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString() + "Open faild" + "\n" + "1.Check config" + "\n"
                                + "2.Check device available" + "\n" + "3.Check device driver", "Error");
            }
        }
Esempio n. 4
0
        private void button6_Click(object sender, EventArgs e)
        {
            if (null != mPort)
            {
                mPort.Close();
                mPort = null;
            }

            mPort = new MyPort(comPort.Text,
                        Convert.ToInt32(comBaud.Text),
                        Convert.ToInt32(comByteSize.Text),
                        StringToParity(comParity.Text),
                        StringToStopBits(comStopBit.Text));
            mPort.Open();
            textBox1.AppendText(comPort.Text + " open\n");

            mPort.mReader += FlowDataReader;
            //mPort.mReader += VIThermometerReader;
            mPort.mReporter += FlowErrorReporter;

            button2.PerformClick();
        }