예제 #1
0
 private static bool SendData(byte[] data, int length)
 {
     if (ComDevice.IsOpen)
     {
         try
         {
             ComDevice.Write(data, 0, length);//发送数据
             return(true);
         }
         catch (Exception ex)
         {
             if (sendDataError != null)
             {
                 sendDataError(ex.Message);
             }
         }
     }
     return(false);
 }
    // connect to a shimmer, comPort must be set
    public void Connect()
    {
        selectedItem = deviceDropdown.SelectedDevice;
        if (selectedItem == null)
        {
            Debug.Log("NO DEVICE SELECTED!");
            return;
        }

        Debug.Log("CONNECT AND STREAM CLICKED");
        this.comPort = selectedItem.ComPort.ToString();
        Debug.Log("USING COM" + this.comPort);

        txtOutput.text  = "Connecting...";
        sc              = new ShimmerController(this);
        txtOutput.text += "\nTrying to connect on COM" + this.comPort;
        sc.Connect("COM" + this.comPort);
        IsConnecting = true;
    }
예제 #3
0
 public bool SendData(byte[] data)
 {
     if (ComDevice.IsOpen)
     {
         try
         {
             ComDevice.Write(data, 0, data.Length);//发送数据
             return(true);
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
     else
     {
         //MessageBox.Show("串口未打开", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
         AddContent("串口未打开\r\n");
     }
     return(false);
 }
예제 #4
0
 /// <summary>
 /// 串口接收中断处理函数
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void Com_DataReceived(object sender, SerialDataReceivedEventArgs e)
 {
     if (ComDevice.IsOpen)
     {
         try
         {
             //ShowMsg("接收成功");
             int    Rx_Length = ComDevice.BytesToRead; //要接收的数据长度
             byte[] RxBuffer  = new byte[Rx_Length];   //接收数据数组
             ComDevice.Read(RxBuffer, 0, Rx_Length);
             for (int i = 0; i < Rx_Length; i++)
             {
                 ReceiveAndCheck(RxBuffer[i]);
             }
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message);
         }
     }
 }
예제 #5
0
 /// <summary>
 /// 打开串口
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void Btn_Open_Click(object sender, EventArgs e)
 {
     if (ComDevice.IsOpen == false)
     {
         try
         {
             string[] portList = SerialPort.GetPortNames();
             if (portList.Length > 0)
             {
                 ComDevice.PortName = portList[0];
             }
             //打开串口
             ComDevice.Open();
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message);
             return;
         }
         Btn_Open.Text      = "关闭串口";
         Lab_Flag.BackColor = Color.Green;   //标志显示绿色,表示串口已成功打开
     }
     else
     {
         try
         {
             ComDevice.Close();
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message);
         }
         Btn_Open.Text      = "打开串口";
         Lab_Flag.BackColor = Color.Red;     //标识显示红色,表示串口未打开
     }
 }
예제 #6
0
 private void Com_DataReceived(object sender, SerialDataReceivedEventArgs e)
 {
     byte[] ReDatas = new byte[ComDevice.BytesToRead];
     ComDevice.Read(ReDatas, 0, ReDatas.Length); //读取数据
     this.AddData(ReDatas);                      //输出数据
 }
예제 #7
0
        private void btnOpen_Click_1(object sender, EventArgs e)
        {
            if (ComDevice.IsOpen == false)
            {
                ComDevice.PortName = cbbComList.Text;// cbbComList.SelectedItem.ToString();
                ComDevice.BaudRate = Convert.ToInt32(cbbbaut.Text);

                if (ccbEO.Text == "无")
                {
                    ComDevice.Parity = Parity.None; //(Parity)Convert.ToInt32(cbbParity.SelectedIndex.ToString());
                }
                else if (ccbEO.Text == "偶")
                {
                    ComDevice.Parity = Parity.Even;
                }
                else if (ccbEO.Text == "奇")
                {
                    ComDevice.Parity = Parity.Odd;
                }
                else if (ccbEO.Text == "0")
                {
                    ComDevice.Parity = Parity.Space;
                }
                else
                {
                    ComDevice.Parity = Parity.Mark;
                }


                ComDevice.DataBits = Convert.ToInt16(ccbDb.Text);//Convert.ToInt32(cbbDataBits.SelectedItem.ToString());

                if (cbbStp.Text == "1")
                {
                    ComDevice.StopBits = StopBits.One;// 1;//(StopBits)Convert.ToInt32(cbbStopBits.SelectedItem.ToString());
                }
                else if (cbbStp.Text == "1.5")
                {
                    ComDevice.StopBits = StopBits.OnePointFive;
                }
                else if (cbbStp.Text == "2")
                {
                    ComDevice.StopBits = StopBits.Two;
                }
                else
                {
                    ComDevice.StopBits = StopBits.None;
                }

                try
                {
                    ComDevice.Open();

                    btnSnd.Enabled = true;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                btnOpen.Text = "关闭串口";
                // pictureBox1.BackgroundImage = Properties.Resources.green;
            }
            else
            {
                try
                {
                    ComDevice.Close();
                    btnSnd.Enabled = false;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                btnOpen.Text = "打开串口";
                //pictureBox1.BackgroundImage = Properties.Resources.red;
            }
        }