Como puedo seleccionar el puerto COM que yo quiero?

Complementando els post ‘Serial Port – Enumeración & Disponibilidad’ y en respuesta a la pregunta:

 como puedo seleccionar el puerto COM que yo quiero? Es decir, con el programa que pusiste en tu blog, el de elegir los COM disponibles con el combobox, como hago para abrir el puerto que selecciono y empezar a enviar las tramas?”

    Private Sub Form1_Load() Handles MyBase.Load

        ‘…

        ‘…

        ‘…

        ‘…

        AddHandler ComboBox1.SelectedIndexChanged, AddressOf PuertoSeleccionado

    End Sub

 

    Sub PuertoSeleccionado()

        SerialPort1.PortName = ComboBox1.SelectedValue

        Refrescar_Estatus()

    End Sub

 

    Sub AbrirCerrar() Handles Button1.Click

        If SerialPort1.IsOpen Then

            SerialPort1.Close()

        Else

            SerialPort1.Open()

        End If

        Refrescar_Estatus()

    End Sub

 

    Sub Refrescar_Estatus()

        If SerialPort1.IsOpen Then

            Me.Button1.Text = SerialPort1.PortName + » (Is Open)»

            Me.Button1.BackColor = Color.Green

        Else

            Me.Button1.Text = SerialPort1.PortName + » (Is Closed)»

            Me.Button1.BackColor = Color.Red

        End If

    End Sub

 

5 pensamientos en “Como puedo seleccionar el puerto COM que yo quiero?”

  1. Muy buenas Pep Lluis,

    Acabo de probrar el programa y tengo que decirte que me funciona bastante bien asi que MUCHAS GRACIAS!
    Por otro lado, me da un errorcillo como este «Excepción del tipo ‘System.UnauthorizedAccessException’ en System.dll» y no se a que se debe. Pero funcionar funciona. En el programa que habia intentando yo, tenia dos botones para conectar y desconectar, y tengo que decir que asi queda mucho mejor.

    Ya te contare como va cuando lo monte en el automata y me comunique con el. De nuevo, MUCHISIMAS GRACIAS!

  2. Pues, con lo comentado anteriormente tengo que decir que no se por que, pero no me deja abrir puertos con lo que no puedo comunicarme. Me da los siguientes errores:

    Excepción del tipo ‘System.UnauthorizedAccessException’ en System.dll

    Excepción del tipo ‘System.IO.IOException’ en System.dll

    Y, por supuesto, no los abre. Es decir, los abre pero cuando quiero mandar informacion por los puertos no me deja y salen ambos mensajes de error. A que puede ser debido?
    Como lo puedo solucionar?

    Gracias de antemano!

  3. Hola Carlos,
    Creo que tal excepcion se produce cuando se intenta acceder al puerto en cuestion y esta siendo utilizado.

    Saludos,
    Pep Lluis.

  4. gracias Pep Lluis por tu ayuda.
    La excepcion no creo que sea por eso ya que abro el puerto para enviar y me sale la excepcion, solo es cuando pulso el boton de apertura de puerto.

    Me pasaba con ambos puertos (5 y 9) y reinstale los drivers y empezo a funcionar bien.

    Muchas gracias!

  5. Hola,

    Lenguaje Visual basic.net

    Necesito ayuda para leer todos los bytes(Hex) que recibo en el puerto serie, de forma tal que tenga acceso al buffer donde se almacenarían estos y me gustaría tener control además del número de bytes recibido durante el proceso de lectura (por ejemplo 100 mS). Una vez leída la cadena recibida necesito limpiar todos los buffers para tenerlo disponible para una próxima lectura la cuál puede ocurrir de forma aleatoria.
    Por su atención muchas gracias: Francisco

Responder a peplluis Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *