Automatyczne znajdowanie numeru portu COM

0

Witam! Napisałem działający program który wysyła dane za pomocą RS232, przez konwerter oparty o układ pl-2303 (usb->rs232). W systemie widoczny jest jako COM4. Jednak te wartość trzeba wpisać samemu. Moje pytanie brzmi: czy można automatycznie wyszukać że ta przejściówka jest podłączona pod COMx (x-niewiadoma)... tzn czy jest jakaś funkcja która powie mi pod którym COM'em jest podłączona moja przejściówka?
chodzi o tą linijkę:

hCommDev = CreateFile("COM4", GENERIC_READ | GENERIC_WRITE,
                          0, NULL, OPEN_EXISTING, 0, NULL); 
0

Mozna probowac po szczegolach sterownikow. Nie widzialem calego pakietu do tego chipa ale np. do ftdi232 jest oprogramowanie pozwalajace "spersonalizowac" (o ile doda sie mala kostke pamieci) taki port. Byc moze tu tez jest podobna mozliwosc.

Jak nie to po sterownikach, ale jak beda dwie przejsciowki to nie wiem czy da sie je rozpoznac.

0

To znowu ja. Napisałem funkcje która mi sprawdzała po kolei port po porcie, jeśli jest połączenie to wysyła do urządzenia dane na które potem urzadzenie musi odpowiedzieć identyfikując je, ale: mając podłączone inne urządzenia pod COM, w którym muszę zezwolić na transmisje, program zatrzymuje się na CreateFile i czeka na odpowiedź...może ktoś się spotkał już z takim problemem??

0

Jak pisalem - timeout.

Ale twoje rozwiazanie jest niebezpieczne (i to nie wsensie programistycznym). Jesli na jakims porcie bedzie podpiety wycinarka laserowa albo twoja komenda zostanie zrozumiana jako odkrec wode ... albo cokolwiek innego.

Niestety port COM to nie PnP i trzeba sie z tym pogodzic po to jest USB.

1 użytkowników online, w tym zalogowanych: 0, gości: 1