Señales de control del puerto serie a través del ‘PinChanged’

Fernando, contestando a tu pregunta de cómo capturar los cambios en las señales de control de puerto serie, te dejo este ejemplo básico esperando te sea de utilidad.

    Dim MiSerialPort As New IO.Ports.SerialPort
 
    Sub Inicializando()
        MiSerialPort.Open()
        AddHandler MiSerialPort.PinChanged, AddressOf MiSerialPort_PinChanged
    End Sub
 
    Private Sub MiSerialPort_PinChanged(ByVal sender As System.ObjectByVal e As System.IO.Ports.SerialPinChangedEventArgs)
        Select Case e.EventType
            Case IO.Ports.SerialPinChange.CtsChanged
                ‘Clear To Send
                If MiSerialPort.CtsHolding Then
                    ‘CTS esta en ON
                Else
                    ‘CTS esta en OFF
                End If
            Case IO.Ports.SerialPinChange.DsrChanged
                ‘Data Set Ready
                If MiSerialPort.DsrHolding Then
                    ‘DSR esta en ON
                Else
                    ‘DSR esta en OFF
                End If
            Case IO.Ports.SerialPinChange.Ring
                ‘Ring
            Case IO.Ports.SerialPinChange.Break
                ‘Break
            Case IO.Ports.SerialPinChange.CDChanged
                ‘Carrier Detect
                If MiSerialPort.CDHolding Then
                    ‘…
                
Else
                    ‘….
                End If
        End Select
    End Sub

:-))
Pep Lluis,