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)); }
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(); }
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(); }
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())); } } }
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 = "打开串口"; } }
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 = "连接成功"; }
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]; } }