elabor.vom-kuhberg.de

Serielle Schnittstelle

RichtungPin#CSharp
OUTPUT:2: TxDserialPort1.write() bzw. serialPort1.breakState=true/false
4: DTRserialPort1.DTREnable=true/false
7: RTSserialPort1.RTSEnable=true/false
INPUT:3: RxDbyte b=serialPort1.read()
1: DCDbool b=serialPort1.DCDHolding
6: DSRbool b=serialPort1.DSRHolding
8: CTSbool b=serialPort1.CTSHolding
9: RI bool b=serialPort1.RI()
Masse5: GND 



more: Signalpegel
#CSharp-Quellcode:
int i_btr = 0;
private void btn_RTS_Click(object sender, EventArgs e)
{
  bool bs = serialPort1.BreakState;  
  if (btn_RTS.BackColor==Color.Red)
  { serialPort1.RtsEnable = false; btn_RTS.BackColor = SystemColors.ButtonFace; btn_RTS.Text = "HIGH"; }
  else
  { serialPort1.RtsEnable =true ; btn_RTS.BackColor = Color.Red; btn_RTS.Text = "LOW"; }
  serialPort1.BreakState = bs;
}

private void btn_TxD_Click(object sender, EventArgs e)
{
  if (serialPort1.BreakState == true)
  { serialPort1.BreakState = false; btn_TxD.BackColor = SystemColors.ButtonFace; btn_TxD.Text = "HIGH"; }
  else
  { serialPort1.BreakState = true; btn_TxD.BackColor = Color.Yellow; btn_TxD.Text = "LOW"; } 
}

private void btn_DTR_Click(object sender, EventArgs e)
{
  bool bs = serialPort1.BreakState;
  if (btn_DTR.BackColor == Color.Lime)
  { serialPort1.DtrEnable = false; btn_DTR.BackColor = SystemColors.ButtonFace; btn_DTR.Text = "HIGH"; }
  else
  { serialPort1.DtrEnable = true; btn_DTR.BackColor = Color.Lime; btn_DTR.Text = "LOW"; }
  serialPort1.BreakState = bs;
}

private void serialPort1_PinChanged(object sender, System.IO.Ports.SerialPinChangedEventArgs e)
{
  if (serialPort1.CDHolding)  { btn_DCD.BackColor=Color.Green;} else {btn_DCD.BackColor=Color.Orange;}
  if (serialPort1.DsrHolding) { btn_DSR.BackColor = Color.Green; } else { btn_DSR.BackColor = Color.Orange; }
  if (serialPort1.CtsHolding) { btn_CTS.BackColor = Color.Green; } else { btn_CTS.BackColor = Color.Orange; }
  if (e.EventType == System.IO.Ports.SerialPinChange.Ring) { btn_RI.BackColor = Color.Green; } else { btn_RI.BackColor = Color.Orange; }
}