using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO.Ports; using System.Linq; using System.Text; using System.Windows.Forms; using Microsoft.Win32; using Microsoft.Win32.SafeHandles; using System.Collections; using System.IO; namespace SerialSignals { public partial class Form1 : Form { public Form1() { InitializeComponent(); initSerialPort(); } private System.IO.Ports.SerialPort SerialPortA = new SerialPort(); private System.IO.Ports.SerialPort SerialPortB = new SerialPort(); private System.IO.Ports.SerialPort SerialPortC = new SerialPort(); private System.IO.Ports.SerialPort SerialPortD = new SerialPort(); private void initSerialPort() { try { foreach (string s in SerialPort.GetPortNames()) { cbSerialPortA.Items.Add(s); cbSerialPortB.Items.Add(s); cbSerialPortC.Items.Add(s); cbSerialPortD.Items.Add(s); } cbSerialPortA.SelectedIndex = 0; cbSerialPortB.SelectedIndex = 0; cbSerialPortC.SelectedIndex = 0; cbSerialPortD.SelectedIndex = 0; cbDataBitsA.SelectedIndex = 1; cbDataBitsB.SelectedIndex = 1; cbDataBitsC.SelectedIndex = 1; cbDataBitsD.SelectedIndex = 1; cbParityA.SelectedIndex = 2; cbParityB.SelectedIndex = 2; cbParityC.SelectedIndex = 2; cbParityD.SelectedIndex = 2; cbBaudA.SelectedIndex = 7; cbBaudB.SelectedIndex = 7; cbBaudC.SelectedIndex = 7; cbBaudD.SelectedIndex = 7; cbStopA.SelectedIndex = 1; cbStopB.SelectedIndex = 1; cbStopC.SelectedIndex = 1; cbStopD.SelectedIndex = 1; } catch (Exception) { } } private void cbOpenPortA_Click(object sender, EventArgs e) { try { SerialPortA.PortName = cbSerialPortA.Items[cbSerialPortA.SelectedIndex].ToString(); SerialPortA.BaudRate = Convert.ToInt32((cbBaudA.Items[cbBaudA.SelectedIndex]).ToString()); string text = cbParityA.Items[cbParityA.SelectedIndex].ToString(); if (text == "Even") SerialPortA.Parity = Parity.Even; else if (text == "Mark") SerialPortA.Parity = Parity.Mark; else if (text == "None") SerialPortA.Parity = Parity.None; else if (text == "Odd") SerialPortA.Parity = Parity.Odd; else if (text == "Space") SerialPortA.Parity = Parity.Space; text = cbStopA.Items[cbStopA.SelectedIndex].ToString(); if (text == "0") SerialPortA.StopBits = StopBits.None; else if (text == "1") SerialPortA.StopBits = StopBits.One; else if (text == "1.5") SerialPortA.StopBits = StopBits.OnePointFive; else if (text == "2") SerialPortA.StopBits = StopBits.Two; SerialPortA.DataBits = Convert.ToInt32((cbDataBitsA.Items[cbDataBitsA.SelectedIndex]).ToString()); SerialPortA.Open(); cbOpenPortA.Enabled = false; cbClosePortA.Enabled = true; } catch (Exception) { MessageBox.Show(" Port A fehlgeschlagen"); } //SerialPort.DtrEnable = true; //SerialPort.RtsEnable = true; { } } private void cbOpenPortB_Click(object sender, EventArgs e) { try { SerialPortB.PortName = cbSerialPortB.Items[cbSerialPortB.SelectedIndex].ToString(); SerialPortB.BaudRate = Convert.ToInt32((cbBaudB.Items[cbBaudB.SelectedIndex]).ToString()); string text = cbParityB.Items[cbParityB.SelectedIndex].ToString(); if (text == "Even") SerialPortB.Parity = Parity.Even; else if (text == "Mark") SerialPortB.Parity = Parity.Mark; else if (text == "None") SerialPortB.Parity = Parity.None; else if (text == "Odd") SerialPortB.Parity = Parity.Odd; else if (text == "Space") SerialPortA.Parity = Parity.Space; text = cbStopB.Items[cbStopB.SelectedIndex].ToString(); if (text == "0") SerialPortB.StopBits = StopBits.None; else if (text == "1") SerialPortB.StopBits = StopBits.One; else if (text == "1.5") SerialPortB.StopBits = StopBits.OnePointFive; else if (text == "2") SerialPortB.StopBits = StopBits.Two; SerialPortB.DataBits = Convert.ToInt32((cbDataBitsB.Items[cbDataBitsB.SelectedIndex]).ToString()); SerialPortB.Open(); cbOpenPortB.Enabled = false; cbClosePortB.Enabled = true; } catch (Exception) { MessageBox.Show("Port B fehlgeschlagen"); } //SerialPort.DtrEnable = true; //SerialPort.RtsEnable = true; { } } private void cbOpenPortC_Click(object sender, EventArgs e) { try { SerialPortC.PortName = cbSerialPortC.Items[cbSerialPortC.SelectedIndex].ToString(); SerialPortC.BaudRate = Convert.ToInt32((cbBaudC.Items[cbBaudC.SelectedIndex]).ToString()); string text = cbParityC.Items[cbParityC.SelectedIndex].ToString(); if (text == "Even") SerialPortC.Parity = Parity.Even; else if (text == "Mark") SerialPortC.Parity = Parity.Mark; else if (text == "None") SerialPortC.Parity = Parity.None; else if (text == "Odd") SerialPortC.Parity = Parity.Odd; else if (text == "Space") SerialPortC.Parity = Parity.Space; text = cbStopC.Items[cbStopC.SelectedIndex].ToString(); if (text == "0") SerialPortC.StopBits = StopBits.None; else if (text == "1") SerialPortC.StopBits = StopBits.One; else if (text == "1.5") SerialPortC.StopBits = StopBits.OnePointFive; else if (text == "2") SerialPortC.StopBits = StopBits.Two; SerialPortC.DataBits = Convert.ToInt32((cbDataBitsC.Items[cbDataBitsC.SelectedIndex]).ToString()); SerialPortC.Open(); cbOpenPortC.Enabled = false; cbClosePortC.Enabled = true; } catch (Exception) { MessageBox.Show("Port C fehlgeschlagen"); } //SerialPort.DtrEnable = true; //SerialPort.RtsEnable = true; { } } private void cbOpenPortD_Click(object sender, EventArgs e) { try { SerialPortD.PortName = cbSerialPortD.Items[cbSerialPortD.SelectedIndex].ToString(); SerialPortD.BaudRate = Convert.ToInt32((cbBaudD.Items[cbBaudD.SelectedIndex]).ToString()); string text = cbParityD.Items[cbParityD.SelectedIndex].ToString(); if (text == "Even") SerialPortD.Parity = Parity.Even; else if (text == "Mark") SerialPortD.Parity = Parity.Mark; else if (text == "None") SerialPortD.Parity = Parity.None; else if (text == "Odd") SerialPortD.Parity = Parity.Odd; else if (text == "Space") SerialPortD.Parity = Parity.Space; text = cbStopD.Items[cbStopD.SelectedIndex].ToString(); if (text == "0") SerialPortD.StopBits = StopBits.None; else if (text == "1") SerialPortD.StopBits = StopBits.One; else if (text == "1.5") SerialPortD.StopBits = StopBits.OnePointFive; else if (text == "2") SerialPortD.StopBits = StopBits.Two; SerialPortD.DataBits = Convert.ToInt32((cbDataBitsD.Items[cbDataBitsD.SelectedIndex]).ToString()); SerialPortD.Open(); cbOpenPortD.Enabled = false; cbClosePortD.Enabled = true; } catch (Exception) { MessageBox.Show(" Port D fehlgeschlagen"); } //SerialPort.DtrEnable = true; //SerialPort.RtsEnable = true; { } } private void cbClosePortA_Click(object sender, EventArgs e) { SerialPortA.Close(); cbOpenPortA.Enabled = true; cbClosePortA.Enabled = false; } private void cbClosePortB_Click(object sender, EventArgs e) { SerialPortB.Close(); cbOpenPortB.Enabled = true; cbClosePortB.Enabled = false; } private void cbClosePortC_Click(object sender, EventArgs e) { SerialPortC.Close(); cbOpenPortC.Enabled = true; cbClosePortC.Enabled = false; } private void cbClosePortD_Click(object sender, EventArgs e) { SerialPortD.Close(); cbOpenPortD.Enabled = true; cbClosePortD.Enabled = false; } private void cbDTRAOn_Click(object sender, EventArgs e) { SerialPortA.DtrEnable = true; cbDTRAOff.Enabled = true; cbDTRAOn.Enabled = false; } private void cbDTRAOff_Click(object sender, EventArgs e) { SerialPortA.DtrEnable = false; cbDTRAOff.Enabled = false; cbDTRAOn.Enabled = true; } private void cbRTSAOn_Click(object sender, EventArgs e) { SerialPortA.RtsEnable = true; cbRTSAOff.Enabled = true; cbRTSAOn.Enabled = false; } private void cbRTSAOff_Click(object sender, EventArgs e) { SerialPortA.RtsEnable = false; cbRTSAOff.Enabled = false; cbRTSAOn.Enabled = true; } private void cbDTRBOn_Click(object sender, EventArgs e) { SerialPortB.DtrEnable = true; cbDTRBOff.Enabled = true; cbDTRBOn.Enabled = false; } private void cbDTRBOff_Click(object sender, EventArgs e) { SerialPortB.DtrEnable = false; cbDTRBOff.Enabled = false; cbDTRBOn.Enabled = true; } private void cbRTSBOn_Click(object sender, EventArgs e) { SerialPortB.RtsEnable = true; cbRTSBOff.Enabled = true; cbRTSBOn.Enabled = false; } private void cbRTSBOff_Click(object sender, EventArgs e) { SerialPortB.RtsEnable = false; cbRTSBOff.Enabled = false; cbRTSBOn.Enabled = true; } private void cbDTRCOn_Click(object sender, EventArgs e) { SerialPortC.DtrEnable = true; cbDTRCOff.Enabled = true; cbDTRCOn.Enabled = false; } private void cbDTRCOff_Click(object sender, EventArgs e) { SerialPortC.DtrEnable = false; cbDTRCOff.Enabled = false; cbDTRCOn.Enabled = true; } private void cbRTSCOn_Click(object sender, EventArgs e) { SerialPortC.RtsEnable = true; cbRTSCOff.Enabled = true; cbRTSCOn.Enabled = false; } private void cbRTSCOff_Click(object sender, EventArgs e) { SerialPortC.RtsEnable = false; cbRTSCOff.Enabled = false; cbRTSCOn.Enabled = true; } private void cbDTRDOn_Click(object sender, EventArgs e) { SerialPortD.DtrEnable = true; cbDTRDOff.Enabled = true; cbDTRDOn.Enabled = false; } private void cbDTRDOff_Click(object sender, EventArgs e) { SerialPortD.DtrEnable = false; cbDTRDOff.Enabled = false; cbDTRDOn.Enabled = true; } private void cbRTSDOn_Click(object sender, EventArgs e) { SerialPortD.RtsEnable = true; cbRTSDOff.Enabled = true; cbRTSDOn.Enabled = false; } private void cbRTSDOff_Click(object sender, EventArgs e) { SerialPortD.RtsEnable = false; cbRTSDOff.Enabled = false; cbRTSDOn.Enabled = true; } private void Form1_Load(object sender, EventArgs e) { } private void groupBox1_Enter(object sender, EventArgs e) { } public event SerialPinChangedEventHandler PinChanged; Radiobutton.state = true { } case SerialPinChange.Ring: { } private void radioButton1_CheckedChanged(object sender, EventArgs e) { } private void radioButton1off(object sender, EventArgs e) { } } }