TODOPIC

Lenguajes de programación para PC => C, C#, C++ => Mensaje iniciado por: micro_pepe en 17 de Diciembre de 2010, 14:18:16

Título: Escanear puertos COM libres.
Publicado por: micro_pepe en 17 de Diciembre de 2010, 14:18:16
Me gustaría saber cual es la mejor manera de conocer puertos COM libres en un PC.

He encontrado la forma de saber si un puerto en concreto está libre (COM5 por ejemplo), y se me ocurre hacer un bucle que incremente el numero de puerto, y pruebe con el. Pero claro, así tendria que poner un limite, 10 por ejemplo, y si hay más de 10, no los veo.

No sé si hay una forma mejor de hacerlo, estoy programando en Java, pero de eso no hay aquí, por eso lo puse en este suforo.

Saludos.
Título: Re: Escanear puertos COM libres.
Publicado por: PalitroqueZ en 17 de Diciembre de 2010, 14:41:05
aqui muestran un ejemplo

http://new.taringa.net/posts/apuntes-y-monografias/3958847/Manejo-de-Puertos-Seriales-RS-232-con-Java-para-Windows.html
Título: Re: Escanear puertos COM libres.
Publicado por: micro_pepe en 17 de Diciembre de 2010, 17:31:03
aqui muestran un ejemplo

http://new.taringa.net/posts/apuntes-y-monografias/3958847/Manejo-de-Puertos-Seriales-RS-232-con-Java-para-Windows.html

Ya conocia ese enlace, pero en ese archivo que dicen se debe descargar, no viene la libreria "SerialPort.jar" necesaria.
Título: Re: Escanear puertos COM libres.
Publicado por: tannke en 18 de Diciembre de 2010, 16:38:01
Pues yo siempre lo he hecho asi, con un bucle de unos 100 y abro el puerto dentro de un "try", si este no da error entonces vuelvo a cerrar el puerto y lo agrego a la lista. Eso si, siempre dejo la posibilidad de ponerlo manualmente por si las moscas.

saludos
Título: Re: Escanear puertos COM libres.
Publicado por: micro_pepe en 20 de Diciembre de 2010, 19:12:07
Pues yo siempre lo he hecho asi, con un bucle de unos 100 y abro el puerto dentro de un "try", si este no da error entonces vuelvo a cerrar el puerto y lo agrego a la lista. Eso si, siempre dejo la posibilidad de ponerlo manualmente por si las moscas.

saludos

Vale hasta aquí, bien. Pero ahora cuando tengo una lista de todos los puertos de mi PC, abro uno de esos puertos, y si no es el del dispositivo que quiero conectar, lo cierro y escojo otro.

El problema es que no se cierra el anterior, el programa se queda parado en la instrucción de cerrar el puerto.

Estoy usando la función puerto.close();
Título: Re: Escanear puertos COM libres.
Publicado por: tannke en 02 de Enero de 2011, 08:46:00
Siento la tardanza, con estos dias de fiesta no he tenido tiempo para ni abrir el ordenador. Pues decirte que asi no se por donde pueda venirte el error, a mi nunca me ha pasado esto. Si pudieras postear algo del codigo podria ser de ayuda para ver donde o porque te pasa eso.

Un saludo y buen 2011!
Título: Re: Escanear puertos COM libres.
Publicado por: fidodido18 en 05 de Enero de 2011, 12:06:44
Me gustaría saber cual es la mejor manera de conocer puertos COM libres en un PC.

He encontrado la forma de saber si un puerto en concreto está libre (COM5 por ejemplo), y se me ocurre hacer un bucle que incremente el numero de puerto, y pruebe con el. Pero claro, así tendria que poner un limite, 10 por ejemplo, y si hay más de 10, no los veo.

No sé si hay una forma mejor de hacerlo, estoy programando en Java, pero de eso no hay aquí, por eso lo puse en este suforo.

Saludos.

yo trabajo con Java y c# (si ya se es lo mismo  :mrgreen:) y cuando trabajas con periféricos es mejor trabajar con c# ya que cuando es así Java no tiene la ventaja de ser multiplataforma... te recomiendo que uses c# y busques los miembros de la clase serialport en msdn, ahí una propiedad que te devuelve los puertos libres del sistema.

mira este link (http://msdn.microsoft.com/es-es/library/system.io.ports.serialport.getportnames.aspx)