Exemple #1
0
 protected virtual void ConnectToPort(object obj)
 {
     if (IsConnected || SerialPort.GetPortNames().All(x => x != SelectedPort))
     {
         COMPort.Close();
     }
     else
     {
         DataIndex         = 0;
         DataValid         = false;
         COMPort.PortName  = SelectedPort;
         COMPort.BaudRate  = 115200;
         COMPort.DataBits  = 8;
         COMPort.StopBits  = StopBits.One;
         COMPort.Handshake = Handshake.None;
         COMPort.Parity    = Parity.None;
         try {
             COMPort.Open();
         } catch (Exception ex) {
             Console.WriteLine($@"Error opening port: {ex.Message}");
         }
         DataLastUpdateTime = DateTime.UtcNow;
     }
     OnPropertyChanged(nameof(ComboIsEnabled));
     OnPropertyChanged(nameof(IsConnected));
     OnPropertyChanged(nameof(ConnectText));
     OnPropertyChanged(nameof(ConnectIsEnabled));
 }
Exemple #2
0
        private void btnWrite_Click(object sender, EventArgs e)
        {
            byte[] buff = new byte[41];
            buff[0] = 0xaa;
            buff[1] = 0x57; // W
            buff[2] = Convert.ToByte(chkPPMA.Checked);
            buff[3] = (byte)(cbFrameA.SelectedIndex + 4);
            buff[4] = (byte)(cbChannelsA.SelectedIndex + 1);

            buff[5]  = (byte)(cbChA1.SelectedIndex);
            buff[6]  = (byte)(cbChA2.SelectedIndex);
            buff[7]  = (byte)(cbChA3.SelectedIndex);
            buff[8]  = (byte)(cbChA4.SelectedIndex);
            buff[9]  = (byte)(cbChA5.SelectedIndex);
            buff[10] = (byte)(cbChA6.SelectedIndex);
            buff[11] = (byte)(cbChA7.SelectedIndex);
            buff[12] = (byte)(cbChA8.SelectedIndex);
            buff[13] = (byte)(cbChA9.SelectedIndex);
            buff[14] = (byte)(cbChA10.SelectedIndex);
            buff[15] = (byte)(cbChA11.SelectedIndex);
            buff[16] = (byte)(cbChA12.SelectedIndex);
            buff[17] = (byte)(cbChA13.SelectedIndex);
            buff[18] = (byte)(cbChA14.SelectedIndex);
            buff[19] = (byte)(cbChA15.SelectedIndex);
            buff[20] = (byte)(cbChA16.SelectedIndex);

            buff[21] = Convert.ToByte(chkPPMB.Checked);
            buff[22] = (byte)(cbFrameB.SelectedIndex + 4);
            buff[23] = (byte)(cbChannelsB.SelectedIndex + 1);

            buff[24] = (byte)(cbChB1.SelectedIndex);
            buff[25] = (byte)(cbChB2.SelectedIndex);
            buff[26] = (byte)(cbChB3.SelectedIndex);
            buff[27] = (byte)(cbChB4.SelectedIndex);
            buff[28] = (byte)(cbChB5.SelectedIndex);
            buff[29] = (byte)(cbChB6.SelectedIndex);
            buff[30] = (byte)(cbChB7.SelectedIndex);
            buff[31] = (byte)(cbChB8.SelectedIndex);
            buff[32] = (byte)(cbChB9.SelectedIndex);
            buff[33] = (byte)(cbChB10.SelectedIndex);
            buff[34] = (byte)(cbChB11.SelectedIndex);
            buff[35] = (byte)(cbChB12.SelectedIndex);
            buff[36] = (byte)(cbChB13.SelectedIndex);
            buff[37] = (byte)(cbChB14.SelectedIndex);
            buff[38] = (byte)(cbChB15.SelectedIndex);
            buff[39] = (byte)(cbChB16.SelectedIndex);

            buff[40] = 0x5d;

            COMPort.Open();
            COMPort.Write(buff, 0, 41);
            COMPort.Close();
        }
Exemple #3
0
    public static void ThreadWriteProcess()
    {
        COMPort cp = new COMPort("COM1");

        cp.Open();
        for (int i = 0; i < 100; i++)
        {
            Thread.Sleep(100);
            cp.setBuffer(System.Text.Encoding.ASCII.GetBytes("hello world"));
            cp.Write();
        }
        cp.Close();
    }
Exemple #4
0
    public static void ThreadReadProcess()
    {
        COMPort cp = new COMPort("COM2");

        cp.Open();
        while (true)
        {
            Thread.Sleep(100);
            if (cp.Read() > 0)
            {
                Console.WriteLine(System.Text.Encoding.ASCII.GetString(cp.getBuffer()));
            }
        }
    }
Exemple #5
0
 private void button1_Click(object sender, EventArgs e)
 {
     if (button1.Text == "打开串口")
     {
         if (comboBoxBaudRate.SelectedIndex == 1)
         {
             COMPort.BaudRate = 115200;
         }
         else
         {
             COMPort.BaudRate = 9600;
         }
         try
         {
             COMPort.PortName = comboBoxCOM.Text;
             COMPort.Open();
         }
         catch (ArgumentException exc)
         {
             MessageBox.Show(exc.Message);
             return;
         }
         if (COMPort.IsOpen)
         {
             MessageBox.Show("打开成功");
             string s   = "SGT_Debuger Online";
             byte[] buf = Encoding.ASCII.GetBytes(s);
             COMPort.Write(buf, 0, s.Length);
             button1.Text = "关闭串口";
         }
         else
         {
             MessageBox.Show("存在问题");
         }
     }
     else
     {
         string s   = "SGT_Debuger Offline";
         byte[] buf = Encoding.ASCII.GetBytes(s);
         COMPort.Write(buf, 0, s.Length);
         COMPort.Close();
         button1.Text = "打开串口";
     }
 }
Exemple #6
0
 private void button1_Click(object sender, EventArgs e)
 {
     if (comboBoxBaudRate.SelectedIndex == 1)
     {
         COMPort.BaudRate = 115200;
     }
     else
     {
         COMPort.BaudRate = 9600;
     }
     try
     {
         COMPort.PortName = comboBoxCOM.Text;
         COMPort.Open();
     }
     catch (ArgumentException exc)
     {
         MessageBox.Show(exc.Message);
         return;
     }
     button1.Text = "连接成功";
 }
Exemple #7
0
        private void btnRead_Click(object sender, EventArgs e)
        {
            byte[] buff = new byte[41];
            buff[0] = 0xaa;
            buff[1] = 0x52; // R

            for (int i = 2; i < 40; i++)
            {
                buff[i] = 0;
            }

            buff[40] = 0x5d;

            COMPort.Open();
            COMPort.Write(buff, 0, 41);

            int cnt = 0;

            while (cnt < 40)
            {
                if (COMPort.BytesToRead > 40)
                {
                    cnt = COMPort.Read(buff, 0, 41);
                }
            }
            COMPort.Close();

            chkPPMA.Checked = (buff[2] == 1);
            if (buff[3] - 4 < 7)
            {
                cbFrameA.SelectedIndex = buff[3] - 4;
            }
            if (buff[4] - 1 < 16)
            {
                cbChannelsA.SelectedIndex = buff[4] - 1;
            }

            if (buff[5] < 17)
            {
                cbChA1.SelectedIndex = buff[5];
            }
            if (buff[6] < 17)
            {
                cbChA2.SelectedIndex = buff[6];
            }
            if (buff[7] < 17)
            {
                cbChA3.SelectedIndex = buff[7];
            }
            if (buff[8] < 17)
            {
                cbChA4.SelectedIndex = buff[8];
            }
            if (buff[9] < 17)
            {
                cbChA5.SelectedIndex = buff[9];
            }
            if (buff[10] < 17)
            {
                cbChA6.SelectedIndex = buff[10];
            }
            if (buff[11] < 17)
            {
                cbChA7.SelectedIndex = buff[11];
            }
            if (buff[12] < 17)
            {
                cbChA8.SelectedIndex = buff[12];
            }
            if (buff[13] < 17)
            {
                cbChA9.SelectedIndex = buff[13];
            }
            if (buff[14] < 17)
            {
                cbChA10.SelectedIndex = buff[14];
            }
            if (buff[15] < 17)
            {
                cbChA11.SelectedIndex = buff[15];
            }
            if (buff[16] < 17)
            {
                cbChA12.SelectedIndex = buff[16];
            }
            if (buff[17] < 17)
            {
                cbChA13.SelectedIndex = buff[17];
            }
            if (buff[18] < 17)
            {
                cbChA14.SelectedIndex = buff[18];
            }
            if (buff[19] < 17)
            {
                cbChA15.SelectedIndex = buff[19];
            }
            if (buff[20] < 17)
            {
                cbChA16.SelectedIndex = buff[20];
            }

            chkPPMB.Checked = (buff[21] == 1);
            if (buff[22] - 4 < 7)
            {
                cbFrameB.SelectedIndex = buff[22] - 4;
            }
            if (buff[23] - 1 < 16)
            {
                cbChannelsB.SelectedIndex = buff[23] - 1;
            }

            if (buff[24] < 17)
            {
                cbChB1.SelectedIndex = buff[24];
            }
            if (buff[25] < 17)
            {
                cbChB2.SelectedIndex = buff[25];
            }
            if (buff[26] < 17)
            {
                cbChB3.SelectedIndex = buff[26];
            }
            if (buff[27] < 17)
            {
                cbChB4.SelectedIndex = buff[27];
            }
            if (buff[28] < 17)
            {
                cbChB5.SelectedIndex = buff[28];
            }
            if (buff[29] < 17)
            {
                cbChB6.SelectedIndex = buff[29];
            }
            if (buff[30] < 17)
            {
                cbChB7.SelectedIndex = buff[30];
            }
            if (buff[31] < 17)
            {
                cbChB8.SelectedIndex = buff[31];
            }
            if (buff[32] < 17)
            {
                cbChB9.SelectedIndex = buff[32];
            }
            if (buff[33] < 17)
            {
                cbChB10.SelectedIndex = buff[33];
            }
            if (buff[34] < 17)
            {
                cbChB11.SelectedIndex = buff[34];
            }
            if (buff[35] < 17)
            {
                cbChB12.SelectedIndex = buff[35];
            }
            if (buff[36] < 17)
            {
                cbChB13.SelectedIndex = buff[36];
            }
            if (buff[37] < 17)
            {
                cbChB14.SelectedIndex = buff[37];
            }
            if (buff[38] < 17)
            {
                cbChB15.SelectedIndex = buff[38];
            }
            if (buff[39] < 17)
            {
                cbChB16.SelectedIndex = buff[39];
            }
        }