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 thoughts on “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

Leave a Reply

Your email address will not be published. Required fields are marked *


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>