Пример #1
0
        private void ConnectPort()
        {
            try
            {
                MainPort.PortName      = PortList.SelectedItem.ToString();
                MainPort.BaudRate      = Convert.ToInt32(RateList.SelectedItem);
                MainPort.DataBits      = Convert.ToInt32(DataBitsList.SelectedItem);
                MainPort.StopBits      = StopBits.One;
                MainPort.Parity        = Parity.None;
                MainPort.Handshake     = Handshake.None;
                MainPort.DataReceived += new SerialDataReceivedEventHandler(MainPort_DataReceived);
                MainPort.Open();

                btnOpen.Enabled      = false;
                btnClose.Enabled     = true;
                PortList.Enabled     = false;
                RateList.Enabled     = false;
                DataBitsList.Enabled = false;
            }
            catch (Exception e)
            {
                MessageBox.Show("Port Connect Please!");
                Console.WriteLine(e.Message);
            }
        }
Пример #2
0
        private void btnClose_Click(object sender, EventArgs e)
        {
            conn.Close();
            MainPort.Close();
            btnOpen.Enabled  = true;
            btnClose.Enabled = false;

            PortList.Enabled     = true;
            RateList.Enabled     = true;
            DataBitsList.Enabled = true;
        }
Пример #3
0
        protected override void OnKeyUp(KeyEventArgs e)
        {
            KeyConverter t = new KeyConverter();

            if (enable_mc == true)
            {
                if (MainPort.BytesToRead > 0)
                {
                    string s = MainPort.ReadLine();
                    s = Regex.Replace(s, @"\r", string.Empty);
                    try
                    {
                        double load = Convert.ToDouble(s);
                        load = ((load - 0) * (105.369 - 40.92)) / ((1023 - 0) + 40.92);
                        append_load_finecontrol_box(load.ToString());
                    }
                    catch
                    {
                    }
                }
                if (Keyboard.IsKeyUp(Key.Z))
                {
                    Console.WriteLine("Stop");
                    up_control = 0;
                    CommandPacket commands;
                    commands.RunTest          = "3";
                    commands.Displacement     = "0";
                    commands.DisplacementRate = "0";
                    commands.Retract          = "0";
                    MainPort.Write("<" + commands.RunTest + "," + commands.DisplacementRate + "," + commands.Displacement + "," + commands.Retract + ">");
                }

                if (Keyboard.IsKeyUp(Key.X))
                {
                    Console.WriteLine("Stopped");
                    CommandPacket commands;
                    commands.RunTest          = "3";
                    commands.Displacement     = "0";
                    commands.DisplacementRate = "0";
                    commands.Retract          = "0";
                    MainPort.Write("<" + commands.RunTest + "," + commands.DisplacementRate + "," + commands.Displacement + "," + commands.Retract + ">");
                    down_control = 0;
                }
            }
        }
Пример #4
0
        private void MainPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            byte TempBuff = 0x00;
            int  nCount   = MainPort.BytesToRead;

            try
            {
                for (int i = 0; i < nCount; i++)
                {
                    TempBuff = Convert.ToByte(MainPort.ReadByte());

                    if (TempBuff == 0x0A)
                    {
                        this.Invoke(new MethodInvoker(delegate()
                        {
                            if (RxData.Length > 4)
                            {
                                if (RxData.Substring(0, 4) == "+RCV")
                                {
                                    ParsingData(RxData);
                                    GetDBData_Last();
                                }
                            }
                            DataView.MoveLast();
                        }));
                        RxData = ""; // RxDate init
                    }

                    else
                    {
                        RxData += Convert.ToChar(TempBuff);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }