Autor Tema: Escanear puertos COM libres.  (Leído 7215 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3216
Escanear puertos COM libres.
« 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.
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5490
    • Electrónica Didacta
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3216
Re: Escanear puertos COM libres.
« Respuesta #2 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.
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡

Desconectado tannke

  • PIC16
  • ***
  • Mensajes: 176
Re: Escanear puertos COM libres.
« Respuesta #3 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

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3216
Re: Escanear puertos COM libres.
« Respuesta #4 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();
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡

Desconectado tannke

  • PIC16
  • ***
  • Mensajes: 176
Re: Escanear puertos COM libres.
« Respuesta #5 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!

Desconectado fidodido18

  • PIC18
  • ****
  • Mensajes: 312
Re: Escanear puertos COM libres.
« Respuesta #6 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
« Última modificación: 05 de Enero de 2011, 12:12:56 por fidodido18 »


 

anything