Pages: [1]   Go Down
Author Topic: Detectar automáticamente el puerto COM que usa Arduino  (Read 3101 times)
0 Members and 1 Guest are viewing this topic.
Euskadi
Offline Offline
God Member
*****
Karma: 16
Posts: 721
Arduinotarrak
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola,
estoy intentando comunicarme entre el Arduino y un PC con un programa escrito en C: desde el PC se le envía una cadena de caracteres, y el Arduino contesta con otra cadena.  La comunicación se establece sin problema si paso al programa el nombre del puerto (ttyUSB0 en Ubuntu, COM4 en XP). En Ubuntu no tengo problema para que el programa C detecte automáticamente el puerto, con una rutina que va intentando abrir ttyUSB0, ttyUSB1, ttyUSB2... Pero en XP tengo dos puertos: COM1 ("Puerto de comunicaciones") y COM4 ("USB Serial Port", es el de Arduino). La rutina me abre COM1
¿Conocéis algún modo de que desde el programa pueda distinguir un puerto del otro? Estoy utilizando funciones del WIN32 API (CreateFile, WriteFile, ReadFile)
Logged

Offline Offline
Edison Member
*
Karma: 23
Posts: 1375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Puedes probar a leer el nombre de cada puerto, el "USB Serial Port" o el VID y PID, pero no podrías distinguir entre un Arduino y cualquier otro adaptador de USB a serie de FTDI, a no ser que crees algún protocolo y mandes por ejemplo una 'B' y el Arduino te tenga que responder 'A' o alguna cosa similar.
« Last Edit: March 12, 2011, 04:04:55 pm by chiva » Logged

Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

Euskadi
Offline Offline
God Member
*****
Karma: 16
Posts: 721
Arduinotarrak
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Gracias chiva
Eso voy a hacer, ir probando a abrir sucesivamente COM0, COM1, COM2..., y verificar en cuál responde un determinado Arduino a un código preestablecido para él.

Logged

Pages: [1]   Go Up
Jump to: