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; namespace SerialSignals { public partial class Form1 : Form { public Form1() { InitializeComponent(); initSerialPort(); } private System.IO.Ports.SerialPort theSerialPortA = new SerialPort(); private System.IO.Ports.SerialPort theSerialPortB = new SerialPort(); private System.IO.Ports.SerialPort theSerialPortC = new SerialPort(); private System.IO.Ports.SerialPort theSerialPortD = 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 { theSerialPortA.PortName = cbSerialPortA.Items[cbSerialPortA.SelectedIndex].ToString(); theSerialPortA.BaudRate = Convert.ToInt32((cbBaudA.Items[cbBaudA.SelectedIndex]).ToString()); string text = cbParityA.Items[cbParityA.SelectedIndex].ToString(); if (text == "Even") theSerialPortA.Parity = Parity.Even; else if (text == "Mark") theSerialPortA.Parity = Parity.Mark; else if (text == "None") theSerialPortA.Parity = Parity.None; else if (text == "Odd") theSerialPortA.Parity = Parity.Odd; else if (text == "Space") theSerialPortA.Parity = Parity.Space; text = cbStopA.Items[cbStopA.SelectedIndex].ToString(); if (text == "0") theSerialPortA.StopBits = StopBits.None; else if (text == "1") theSerialPortA.StopBits = StopBits.One; else if (text == "1.5") theSerialPortA.StopBits = StopBits.OnePointFive; else if (text == "2") theSerialPortA.StopBits = StopBits.Two; theSerialPortA.DataBits = Convert.ToInt32((cbDataBitsA.Items[cbDataBitsA.SelectedIndex]).ToString()); theSerialPortA.Open(); cbOpenPortA.Enabled = false; cbClosePortA.Enabled = true; } catch (Exception) { MessageBox.Show("Öffnen des seriellen Ports A fehlgeschlagen"); } //theSerialPort.DtrEnable = true; //theSerialPort.RtsEnable = true; //theSerialPort.TxDEnable = true; { } } private void cbOpenPortB_Click(object sender, EventArgs e) { try { theSerialPortB.PortName = cbSerialPortB.Items[cbSerialPortB.SelectedIndex].ToString(); theSerialPortB.BaudRate = Convert.ToInt32((cbBaudB.Items[cbBaudB.SelectedIndex]).ToString()); string text = cbParityB.Items[cbParityB.SelectedIndex].ToString(); if (text == "Even") theSerialPortB.Parity = Parity.Even; else if (text == "Mark") theSerialPortB.Parity = Parity.Mark; else if (text == "None") theSerialPortB.Parity = Parity.None; else if (text == "Odd") theSerialPortB.Parity = Parity.Odd; else if (text == "Space") theSerialPortA.Parity = Parity.Space; text = cbStopB.Items[cbStopB.SelectedIndex].ToString(); if (text == "0") theSerialPortB.StopBits = StopBits.None; else if (text == "1") theSerialPortB.StopBits = StopBits.One; else if (text == "1.5") theSerialPortB.StopBits = StopBits.OnePointFive; else if (text == "2") theSerialPortB.StopBits = StopBits.Two; theSerialPortB.DataBits = Convert.ToInt32((cbDataBitsB.Items[cbDataBitsB.SelectedIndex]).ToString()); theSerialPortB.Open(); cbOpenPortB.Enabled = false; cbClosePortB.Enabled = true; } catch (Exception) { MessageBox.Show("Öffnen des seriellen Ports B fehlgeschlagen"); } //theSerialPort.DtrEnable = true; //theSerialPort.RtsEnable = true; //theSerialPort.TxDEnable = true; { } } private void cbOpenPortC_Click(object sender, EventArgs e) { try { theSerialPortC.PortName = cbSerialPortC.Items[cbSerialPortC.SelectedIndex].ToString(); theSerialPortC.BaudRate = Convert.ToInt32((cbBaudC.Items[cbBaudC.SelectedIndex]).ToString()); string text = cbParityC.Items[cbParityC.SelectedIndex].ToString(); if (text == "Even") theSerialPortC.Parity = Parity.Even; else if (text == "Mark") theSerialPortC.Parity = Parity.Mark; else if (text == "None") theSerialPortC.Parity = Parity.None; else if (text == "Odd") theSerialPortC.Parity = Parity.Odd; else if (text == "Space") theSerialPortC.Parity = Parity.Space; text = cbStopC.Items[cbStopC.SelectedIndex].ToString(); if (text == "0") theSerialPortC.StopBits = StopBits.None; else if (text == "1") theSerialPortC.StopBits = StopBits.One; else if (text == "1.5") theSerialPortC.StopBits = StopBits.OnePointFive; else if (text == "2") theSerialPortC.StopBits = StopBits.Two; theSerialPortC.DataBits = Convert.ToInt32((cbDataBitsC.Items[cbDataBitsC.SelectedIndex]).ToString()); theSerialPortC.Open(); cbOpenPortC.Enabled = false; cbClosePortC.Enabled = true; } catch (Exception) { MessageBox.Show("Öffnen des seriellen Ports C fehlgeschlagen"); } //theSerialPort.DtrEnable = true; //theSerialPort.RtsEnable = true; //theSerialPort.TxDEnable = true; { } } private void cbOpenPortD_Click(object sender, EventArgs e) { try { theSerialPortD.PortName = cbSerialPortD.Items[cbSerialPortD.SelectedIndex].ToString(); theSerialPortD.BaudRate = Convert.ToInt32((cbBaudD.Items[cbBaudD.SelectedIndex]).ToString()); string text = cbParityD.Items[cbParityD.SelectedIndex].ToString(); if (text == "Even") theSerialPortD.Parity = Parity.Even; else if (text == "Mark") theSerialPortD.Parity = Parity.Mark; else if (text == "None") theSerialPortD.Parity = Parity.None; else if (text == "Odd") theSerialPortD.Parity = Parity.Odd; else if (text == "Space") theSerialPortD.Parity = Parity.Space; text = cbStopD.Items[cbStopD.SelectedIndex].ToString(); if (text == "0") theSerialPortD.StopBits = StopBits.None; else if (text == "1") theSerialPortD.StopBits = StopBits.One; else if (text == "1.5") theSerialPortD.StopBits = StopBits.OnePointFive; else if (text == "2") theSerialPortD.StopBits = StopBits.Two; theSerialPortD.DataBits = Convert.ToInt32((cbDataBitsD.Items[cbDataBitsD.SelectedIndex]).ToString()); theSerialPortD.Open(); cbOpenPortD.Enabled = false; cbClosePortD.Enabled = true; } catch (Exception) { MessageBox.Show("Öffnen des seriellen Ports D fehlgeschlagen"); } //theSerialPort.DtrEnable = true; //theSerialPort.RtsEnable = true; //theSerialPort.TxDEnable = true; { } } private void cbClosePortA_Click(object sender, EventArgs e) { theSerialPortA.Close(); cbOpenPortA.Enabled = true; cbClosePortA.Enabled = false; } private void cbClosePortB_Click(object sender, EventArgs e) { theSerialPortB.Close(); cbOpenPortB.Enabled = true; cbClosePortB.Enabled = false; } private void cbClosePortC_Click(object sender, EventArgs e) { theSerialPortC.Close(); cbOpenPortC.Enabled = true; cbClosePortC.Enabled = false; } private void cbClosePortD_Click(object sender, EventArgs e) { theSerialPortD.Close(); cbOpenPortD.Enabled = true; cbClosePortD.Enabled = false; } private void cbDTRAOn_Click(object sender, EventArgs e) { theSerialPortA.DtrEnable = true; cbDTRAOff.Enabled = true; cbDTRAOn.Enabled = false; } private void cbDTRAOff_Click(object sender, EventArgs e) { theSerialPortA.DtrEnable = false; cbDTRAOff.Enabled = false; cbDTRAOn.Enabled = true; } private void cbRTSAOn_Click(object sender, EventArgs e) { theSerialPortA.RtsEnable = true; cbRTSAOff.Enabled = true; cbRTSAOn.Enabled = false; } private void cbRTSAOff_Click(object sender, EventArgs e) { theSerialPortA.RtsEnable = false; cbRTSAOff.Enabled = false; cbRTSAOn.Enabled = true; } private void cbDTRBOn_Click(object sender, EventArgs e) { theSerialPortB.DtrEnable = true; cbDTRBOff.Enabled = true; cbDTRBOn.Enabled = false; } private void cbDTRBOff_Click(object sender, EventArgs e) { theSerialPortB.DtrEnable = false; cbDTRBOff.Enabled = false; cbDTRBOn.Enabled = true; } private void cbRTSBOn_Click(object sender, EventArgs e) { theSerialPortB.RtsEnable = true; cbRTSBOff.Enabled = true; cbRTSBOn.Enabled = false; this.timer3.Start(); } private void cbRTSBOff_Click(object sender, EventArgs e) { theSerialPortB.RtsEnable = false; cbRTSBOff.Enabled = false; cbRTSBOn.Enabled = true; } private void cbDTRCOn_Click(object sender, EventArgs e) { theSerialPortC.DtrEnable = true; cbDTRCOff.Enabled = true; cbDTRCOn.Enabled = false; } private void cbDTRCOff_Click(object sender, EventArgs e) { theSerialPortC.DtrEnable = false; cbDTRCOff.Enabled = false; cbDTRCOn.Enabled = true; } private void cbRTSCOn_Click(object sender, EventArgs e) { theSerialPortC.RtsEnable = true; cbRTSCOff.Enabled = true; cbRTSCOn.Enabled = false; } private void cbRTSCOff_Click(object sender, EventArgs e) { theSerialPortC.RtsEnable = false; cbRTSCOff.Enabled = false; cbRTSCOn.Enabled = true; } private void cbDTRDOn_Click(object sender, EventArgs e) { theSerialPortD.DtrEnable = true; cbDTRDOff.Enabled = true; cbDTRDOn.Enabled = false; this.timer2.Start(); } private void cbDTRDOff_Click(object sender, EventArgs e) { theSerialPortD.DtrEnable = false; cbDTRDOff.Enabled = false; cbDTRDOn.Enabled = true; } private void cbRTSDOn_Click(object sender, EventArgs e) { theSerialPortD.RtsEnable = true; cbRTSDOff.Enabled = true; cbRTSDOn.Enabled = false; } private void cbRTSDOff_Click(object sender, EventArgs e) { theSerialPortD.RtsEnable = false; cbRTSDOff.Enabled = false; cbRTSDOn.Enabled = true; } private void Form1_Load(object sender, EventArgs e) { } private void Notaus_Click(object sender, EventArgs e) { Application.Exit(); } private void timer2_Tick(object sender, EventArgs e) { } private void timer3_Tick(object sender, EventArgs e) { } private void cbSerialPortA_SelectedIndexChanged(object sender, EventArgs e) { } private void groupBox1_Enter(object sender, EventArgs e) { } private void button2_Click(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { } private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e) { Label1.Text = "An"; } private void cbTxDAOn_Click(object sender, EventArgs e) { theSerialPortA.TxDEnable = true; cbTxDAOff.Enabled = true; cbTxDAOn.Enabled = false; } private void cbTxDAOff_Click(object sender, EventArgs e) { theSerialPortA.TxDEnable = false; cbTxDAOff.Enabled = false; cbTxDAOn.Enabled = true; } } }