Zamysł miałem taki;
Mam funkcję SetCommState(hNumPort,&dcd) która zwraca TRUE po prawidłowym podłączeniu się do portu COM lub FALSE gdy nie uda się podłaczyć,
Myślę więc - w pętli While() po kolei spróbuję się podłączać do np;15-stu COM-ów, jeśli w końcu funkcja zwróci TRUE to zostanie mi wysłać znak 'a' do AVR aby za chwilę odebrać spodziewane się dane z AVR (bo tak mam napisane nadawanie w AVR) i w ten sposób odfiltruję pożądany COM. Problemem jest użycie funkcji ReadFile(hNumPort,IpBuffor_read,10,&RS_ile,0) ponieważ jeśli jej użyję(aby sprawdzić odebrane dane), a bufor odbiorczy nie jest zapełniony, to funkcja jak by czeka w nieskończoność na dane i blokuje program, nie wiem jak opuścić tą funkcję (np. po jakimś krytycznym czasie) aby kontynuować sprawdzanie portów.
Jako ciekawostkę w menadżerze urządzeń widzę aktywny COM4 (to nie moja przejściówka) i mogę się do niej podłączyć i nawet wysłać dane, a już np. próba odczytu z COM4 ,zatrzymuje program. (przypuszczam że nic nie przylatuje do bufora odbiorczego) , robiąc testy na mojej przejściówce wystarczyło że w Atmedze za komentowałem nadawanie po RS232 i program w PC zachowywał się dokładnie tak samo przy próbie użyciu funkcji ReadFile(hNumPort,IpBuffor_read,10,&RS_ile,0).
Jeszcze muszę dużo poczytać, a najlepiej namówić P.Mirka do napisania książki o C++ (ale tak łopatologicznie tłumacząc na przykładach jak AVR-y) aby można było zrozumieć