c# SerialPort PinChanged event-handling
Habe ich eine mit null beendete serial port listener und ich will es geben alle Daten und pin von Ereignissen aus, die im Anschluss an den out-port. Die Daten gut funktioniert, jedoch möchte ich weitergeben an alle die pin-Veranstaltungen. Ich habe ein listener mit:
in_port.PinChanged += new SerialPinChangedEventHandler(port_PinChanged);
und dann Griff es mit:
static void port_PinChanged(object sender, SerialPinChangedEventArgs e)
{
if (e.EventType == SerialPinChange.Break)
{
out_port.BreakState = in_port.BreakState;
}
else if (e.EventType == SerialPinChange.CDChanged)
{
}
else if (e.EventType == SerialPinChange.CtsChanged)
{
}
else if (e.EventType == SerialPinChange.DsrChanged)
{
}
else if (e.EventType == SerialPinChange.Ring)
{
}
}
Wie kann ich übergeben Sie diese änderungen in den pin-Zustand in den out-port?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist nicht zur Arbeit gehen. CD und Ring sind modem-Signale, Sie verdrahtet sind als Eingänge an Ihrem PC. Sie haben keine Ersatz-Ausgänge, die Sie verwenden können, um diese Signale. CTS und DSR sind die handshake Signale verdrahtet werden RTS und DTR auf das andere Ende. Sie verwenden müssen, um Sie selbst zu implementieren, Händeschütteln, auf beiden ports. Pause kann nicht gut funktionieren entweder, Sie wissen nicht, Wann es schaltet, obwohl Sie könnten, simulieren Sie es mit einem timer. Nicht die Mühe, das signal stammt aus der Steinzeit.
RS-232 ist einfach nicht dafür gemacht. Statt den Draht unmittelbar und Tippen Sie auf die Signale. TxD+Gnd an einen port, RxD+Gnd an einen anderen, so kann man snoop auf den Verkehr. Nicht der größte für Lärm, halten Sie die Kabel kurz oder baudrate niedrig ist. Lötkolben erforderlich.
Den CtsChanged und DsrChanged pin Staaten sind die Reaktionen auf anderem geschieht, sollten Sie nicht versuchen, Sie zu übergeben in dieser Art und Weise. Sie beziehen sich auf den Datenfluss.
Ich bin nicht sicher über die anderen Signale.