Czyszczenie zajętych portów COM

Za każdym razem, gdy podłączasz nowy COM urządzenia lub urządzenia USB (prawdziwe dla modemów, telefonów komórkowych, Bluetooth, konwerterów szeregowych na USB itp.), Windows wykrywa je za pomocą mechanizmu Plug-n-Play i przypisuje mu określone Numer portu COM w zakresie Od 1 do 255. Podczas ponownego podłączania tych samych urządzeń port COM zarezerwowany wcześniej dla niego jest do niego przypisany. Nowe urządzenia otrzymują pierwszy niezajęty numer portu COM. Często zdarza się, że urządzenia zewnętrzne tworzą jednocześnie kilka portów COM po podłączeniu (w moim przypadku po podłączeniu adaptera Bluetooth od razu pojawiło się 10 nowych portów COM w systemie).

Szereg aplikacji (zwykle dość starożytnych) jest w stanie adresować tylko dwucyfrowe numery portów COM, odmawiając współpracy z COM100 i wyższymi. W najbardziej „działających” wersjach takie programy działają poprawnie tylko na portach z COM1-COM9. Co zrobić, jeśli podłączone urządzenie otrzyma wysoką liczbę? Czy mogę zresetować numerację zarezerwowanych portów COM i usunąć przypisane porty? Spróbujmy znaleźć przykład systemu Windows 7.

Treść

  • Zmień numer portu COM dla określonego urządzenia
  • Zresetuj powiązania portów COM przez rejestr

Z reguły nie można zmienić wydanego portu COM na inny we właściwościach urządzenia, ponieważ system pisze, że wszystkie „niskie” porty COM są już w użyciu (w użyciu).

Zmień numer portu COM dla określonego urządzenia

Przede wszystkim powinieneś spróbować ręcznie przedefiniować numer portu COM dla konkretnego urządzenia COM. Załóżmy, że wymagany port COM jest już zajęty i chcemy spróbować go zwolnić.

  1. Uruchom Menedżera urządzeń w ten sposób:set devmgr_show_nonpresent_devices = 1
    uruchom devmgmt.msc
  2. W menu konsoli wybierz Zobacz->Pokaż ukryte urządzenia.
  3. Rozwiń gałąź Porty (Com & LPT) i na liście znajdź urządzenie, do którego przypisany jest pożądany port COM (blada ikona oznacza, że ​​ten port COM jest przypisany, ale w chwili obecnej urządzenie to nie jest podłączone). Kliknij go prawym przyciskiem myszy i wybierz Odinstaluj
  4. Uwolniony port COM można przypisać do innego urządzenia. Znajdź swoje urządzenie w tej samej gałęzi, otwórz okno jego właściwości (Właściwości) Następnie przejdź do zakładki Port Ustawienia i naciśnij przycisk Zaawansowane. Z rozwijanej listy wybierz nieużywany port COM.

Powyższa metoda nie zawsze zwalnia zajęty port COM. W takim przypadku konieczne będzie skorzystanie z edycji rejestru.

Zresetuj powiązania portów COM przez rejestr

Informacje o używanych portach COM są przechowywane w kluczu rejestru. CommDB w dziale HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ COM Nazwa Arbiter

  1. Otwórz Edytor rejestru (regedit) i przejdź do określonej gałęzi.Jest ważne! Zdecydowanie zalecamy utworzenie kopii zapasowej tej gałęzi rejestru (Plik -> Eksportuj) W przypadku, gdy coś pójdzie nie tak, możesz powrócić do oryginalnej konfiguracji portu..

  2. Wartość parametru Comdb definiuje listę portów COM zarezerwowanych w systemie w formacie binarnym. Każdy bit określa status odpowiedniego portu (od 1 do 255). Na przykład, jeśli musimy zostawić rezerwację tylko dla COM3, wartość szesnastkowa ComDB wyniesie 04 (0000 0100)Jest ważne! Zachowaj szczególną ostrożność, w żadnym wypadku nie dodawaj dodatkowych bajtów do tego parametru, w przeciwnym razie system może zacząć spadać do BSOD.
  3. Jeśli musisz całkowicie zresetować wszystkie wiązania COM, zmień wartość klucza ComDB na 0.Uwaga. W dziale HKEY_LOCAL_MACHINE \ HARDWARE \ DEVICEMAP \ SERIALCOMM możesz zobaczyć listę portów COM podłączonych do systemu.
  4. W oddziale HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Ports zawiera listę przypisanych portów COM. Wszystkie niepotrzebne porty można usunąć (w naszym przykładzie pozostawimy tylko COM3, a resztę usuniemy).
  5. Wyłącz cały sprzęt i uruchom ponownie komputer.
  6. Po ponownym uruchomieniu uruchom urządzenie w żądanej kolejności (zainstaluj ponownie konwertery USB-na-szeregowe itp.). Wszystkie wykryte porty COM są automatycznie wykrywane przez system, a numery portów szeregowych zostaną im przydzielone..