Estoy desarrollando una aplicación que usando los pines del puerto serie controla cuando un interruptor esta abierto o cerrado, lo que hago es conectar un interruptor entre los pines RTS y CTS (salida RTS pin7 con la entrada CTS pin8). Como RTS lo tengo a true todo el rato, al pulsar el interruptor cambia el estado de CTS y por medio del evento PinChanged recojo el cambio de estado y lo anoto.
El código usado es similar al que adjunto
PrivateSub SerialPort1_PinChanged(ByVal sender As System.Object, ByVal e As System.IO.Ports.SerialPinChangedEventArgs) Handles SerialPort1.PinChanged
If e.EventType = IO.Ports.SerialPinChange.CtsChanged Then
class Escribelog(“TZ”)
EndIf
EndSub
Sin embargo no consigo que este evento me funcione, por más que busco por www, encuentro que se aconseja no meter mucho código dentro de ese evento, dado que debe resolver lo que tenga muy rápido para estar disponible de nuevo, que no se pueden modificar controles, pero no veo un motivo por el cual no pueda hacer lo que quiero. Mas aun cuando en VB normal y corriente en un PC me funcionaba sin problemas.
He leído algo de que quizás las señales que utilizo tengan el sentido cambiado, de forma que como esto correo en una PDA, cuando yo pongo la señal RTS a true, verdaderamente no la estoy poniendo a 1 sino a 0, de forma que al pulsar el interruptor conecto RTS a CTS pero ambas a 0, y por tanto no me detecta nada, pero no se si esto es así o lo he entendido mal.
Sabéis como puedo averiguar por que no me funciona este dichoso código.
Muchas gracias