c # SerialPort PinChanged обработка событий - PullRequest
1 голос
/ 05 апреля 2011

У меня есть прослушиватель последовательного порта с нулевым окончанием, и я хочу, чтобы он передавал все данные и события вывода с входного порта на выходной. Данные работают хорошо, однако я хочу также передать все события булавки. Я добавил слушателя, используя:

in_port.PinChanged += new SerialPinChangedEventHandler(port_PinChanged);

, а затем обработайте его:

    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)
        {

        }
    }

Как передать эти изменения в состоянии вывода на выходной порт?

Ответы [ 2 ]

5 голосов
/ 05 апреля 2011

Это не сработает. CD и Ring являются сигналами модема, они подключены как входы на вашем ПК. У вас нет запасных выходов, которые вы могли бы использовать для подачи этих сигналов. CTS и DSR являются сигналами квитирования, которые связаны с RTS и DTR на другом конце. Вы должны использовать их самостоятельно для установления связи через оба порта. Перерыв не может работать хорошо, вы не знаете, когда он выключается, хотя вы можете смоделировать его с помощью таймера. Не беспокойтесь, этот сигнал датируется каменным веком.

RS-232 просто не для этого. Вместо этого подключите его напрямую и нажмите на сигналы. TxD + Gnd на один порт, RxD + Gnd на другой, чтобы вы могли отслеживать трафик. Не самое лучшее для шума, держите кабели короткими или скорость передачи данных низкими. Требуется паяльник.

1 голос
/ 05 апреля 2011

Состояния выводов CtsChanged и DsrChanged являются реакцией на происходящие события, не пытайтесь передавать их таким образом. Они относятся к потоку данных.

Я не уверен насчет других сигналов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...