Computer >> Máy Tính >  >> Hệ thống >> Windows 7

Cách xóa hoặc đặt lại số cổng COM trong Windows?

Khi bạn kết nối thiết bị COM mới hoặc thiết bị USB với máy tính của mình (modem USB, điện thoại di động, bộ điều hợp Bluetooth, bộ chuyển đổi nối tiếp sang USB, v.v.), Windows sẽ phát hiện thiết bị bằng Plug-n-Play và gán cho nó một COM số cổng trong khoảng từ 1 đến 255 (COM1, COM2, COM3, v.v.). Nếu thiết bị này được kết nối lại, COM dự phòng (Communication hoặc Serial ) số cổng được gán cho nó. Một thiết bị mới có số cổng COM miễn phí đầu tiên. Điều thường xảy ra là khi được kết nối, các thiết bị bên ngoài tạo ra nhiều cổng COM cùng một lúc. Trong trường hợp của tôi sau khi kết nối bộ điều hợp Bluetooth 10 !!! các cổng COM mới đã xuất hiện trong hệ thống.

Một số ứng dụng cũ chỉ có thể xử lý các số cổng COM có hai chữ số và sẽ không hoạt động với COM100 trở lên. Trong trường hợp xấu nhất, các chương trình này chỉ hoạt động với COM1-COM9 các cổng. Điều gì sẽ xảy ra nếu một thiết bị có số cổng COM cao hơn? Có thể đặt lại cách đánh số cho các cổng COM dành riêng và xóa các cổng đã chỉ định không?

Nội dung:

  • Cách thay đổi số cổng COM cho thiết bị trong Windows?
  • Tìm hiểu quy trình nào đang sử dụng cổng COM nối tiếp trong Windows
  • Đặt lại số cổng COM trong Windows Registry

Cách thay đổi số cổng COM cho thiết bị trong Windows?

Trong Windows, bạn có thể thay đổi thủ công số cổng COM được gán cho thiết bị. Giả sử cổng COM cần thiết đã bận và bạn muốn giải phóng nó.

  1. Mở Trình quản lý Thiết bị bằng cách chạy devmgmt.msc lệnh;
  2. Chọn Xem-> Hiển thị thiết bị ẩn trong menu; Cách xóa hoặc đặt lại số cổng COM trong Windows?
  3. Sau đó, mở rộng Cổng (COM &LPT) và tìm thiết bị của bạn trong danh sách;
  4. Đi tới Cài đặt cổng và nhấp vào tab Nâng cao nút;
  5. Số cổng COM hiện tại được chỉ định cho thiết bị có thể được tìm thấy trong Số cổng COM lĩnh vực;
  6. Để thay đổi nó, hãy mở danh sách thả xuống và chọn số cổng COM bạn muốn đặt. Cách xóa hoặc đặt lại số cổng COM trong Windows?

Nhưng thường thì bạn không thể thay đổi số cổng COM được chỉ định thành một số khác trong thuộc tính phần cứng, vì tất cả các cổng COM “thấp hơn” đều đã được sử dụng.

  1. Mở rộng Cổng (COM &LPT) nhánh, tìm số cổng COM bạn cần được gán cho (biểu tượng nhạt nghĩa là cổng COM này đã được chỉ định, nhưng thiết bị này hiện chưa được kết nối);
  2. Nhấp chuột phải vào nó và chọn Gỡ cài đặt c á ch; Cách xóa hoặc đặt lại số cổng COM trong Windows?
  3. Giờ đây, bạn có thể gán cổng COM đã giải phóng cho một thiết bị khác. Một lần nữa mở các thuộc tính của thiết bị của bạn, đi tới Cài đặt cổng -> Nâng cao chuyển hướng. Sau đó, chuyển đến Cổng Cài đặt và nhấp vào Nâng cao . Chọn cổng COM miễn phí trong danh sách thả xuống. Cách xóa hoặc đặt lại số cổng COM trong Windows?

Tuy nhiên, phương pháp này không cho phép bạn giải phóng cổng COM bận rộn trong mọi trường hợp.

Bạn có thể lấy danh sách đầy đủ các cổng COM bận trên Windows bằng PowerShell:

Get-WMIObject Win32_SerialPort | Select-Object Name,DeviceID,Description
Bạn có thể lấy số cổng COM cho một thiết bị cụ thể theo tên của nó, ví dụ:

Get-WMIObject Win32_SerialPort | Where-Object { $_.Name -like "*Arduino*"}|select name, deviceid
hoặc
Get-WMIObject Win32_SerialPort | Where-Object { $_.Name -like "*GPS*"}|select name, deviceid

Tìm hiểu quy trình nào đang sử dụng cổng COM nối tiếp trong Windows

Bạn sẽ không thể giải phóng cổng COM của thiết bị được sử dụng bởi Windows hoặc một chương trình (quy trình) đang chạy. Trước tiên, bạn cần dừng quá trình hiện đang sử dụng cổng COM. Bạn có thể sử dụng Trình khám phá quy trình công cụ (của Sysinternals) để tìm ra tên của quá trình sử dụng số cổng COM cụ thể (https://docs.microsoft.com/en-gb/sysinternals/downloads/process-explorer).

Đầu tiên, bạn cần hiển thị tên của dịch vụ sử dụng cổng COM. Chạy lệnh PowerShell:

get-pnpdevice -class Ports -ea 0| Select Name, PNPDeviceID, Status, Service

Cách xóa hoặc đặt lại số cổng COM trong Windows?

Tên dịch vụ của cổng COM cụ thể được hiển thị trong Dịch vụ cột. Ví dụ:đối với COM2, nó là Serial . Bây giờ, bạn cần chạy Process Explorer với tư cách quản trị viên và chọn Tìm -> Tìm Xử lý hoặc DLL từ menu. Trong chuỗi con Xử lý hoặc DLL , nhập giá trị Dịch vụ thu được trước đó. Trong ví dụ của chúng tôi, đây là Serial .

Process Explorer sẽ hiển thị tên tiến trình hiện đang sử dụng cổng COM của bạn. Để giải phóng cổng COM, hãy hủy quá trình hoặc chương trình.

Cách xóa hoặc đặt lại số cổng COM trong Windows?

Đặt lại số cổng COM trong sổ đăng ký Windows

Thông tin về các cổng COM đang sử dụng được lưu trữ trong CommDB tham số đăng ký trong HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ COM Name Arbiter khóa reg.

  1. Mở Trình chỉnh sửa sổ đăng ký (regedit.exe ) và đi đến khóa đăng ký được đề cập ở trên; Cách xóa hoặc đặt lại số cổng COM trong Windows? Quan trọng! Chúng tôi thực sự khuyên bạn nên sao lưu khóa đăng ký này (Tệp -> Xuất) trước khi làm bất cứ điều gì. Nếu xảy ra sự cố, bạn có thể khôi phục cấu hình cổng COM ban đầu.
  2. Giá trị của ComDB tham số ở định dạng nhị phân xác định danh sách các cổng COM dành riêng trong Windows. Mỗi bit xác định trạng thái của cổng tương ứng (từ 1 đến 255). Ví dụ:nếu bạn chỉ cần đặt chỗ cho COM3, giá trị hex của ComDB sẽ bằng 04 (0000 0100); Cách xóa hoặc đặt lại số cổng COM trong Windows?
    Quan trọng! Hãy hết sức chú ý và không thêm bất kỳ bit bổ sung nào vào tham số, nếu không hệ thống sẽ bắt đầu không thành BSOD.
  3. Nếu bạn phải đặt lại tất cả các ràng buộc cổng COM, hãy thay đổi giá trị của ComDB đến 0 ; Cách xóa hoặc đặt lại số cổng COM trong Windows?
    Lưu ý . Bạn có thể xem danh sách đầy đủ các cổng COM được kết nối trong Windows trong khóa đăng ký HKEY_LOCAL_MACHINE \ HARDWARE \ DEVICEMAP \ SERIALCOMM. Các mục đăng ký trong SERIALCOMM chỉ có thể hiển thị khi các thiết bị cơ bản được kết nối và sẵn sàng. Khóa con này là một phần của khóa PHẦN CỨNG và nó được tạo lại mỗi khi hệ thống khởi động. Cách xóa hoặc đặt lại số cổng COM trong Windows?
  4. HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Ports khoá đăng ký chứa danh sách tất cả các số cổng COM được chỉ định. Bạn có thể loại bỏ tất cả các đặt trước cổng không cần thiết. Trong ví dụ của chúng tôi, chúng tôi sẽ chỉ để lại COM3 và xóa các cổng còn lại; Cách xóa hoặc đặt lại số cổng COM trong Windows?
  5. Rút phích cắm của tất cả các thiết bị bên ngoài và khởi động lại máy tính của bạn;
  6. Sau khi khởi động lại, hãy kết nối các thiết bị theo thứ tự cần thiết, cài đặt lại bộ chuyển đổi USB-to-serial, v.v. Tất cả các thiết bị có cổng COM được phát hiện sẽ được hệ thống tự động phát hiện và gán số cổng COM tuần tự.

Bạn cũng có thể sử dụng các công cụ miễn phí sau để dọn dẹp các cổng COM dành riêng:

  • Công cụ kiểm tra tên COM - công cụ này có thể giúp bạn đặt lại các vị trí đặt trước cổng COM và tìm số cổng COM đã sử dụng. Tải xuống công cụ và chạy nó với tư cách quản trị viên. Chọn các cổng COM bạn muốn giải phóng và nhấp vào Xóa các Đặt chỗ không sử dụng Xóa các thiết bị không có mặt; Cách xóa hoặc đặt lại số cổng COM trong Windows?
  • Công cụ Dọn dẹp Thiết bị - tiện ích được sử dụng để tìm kiếm sổ đăng ký cho các thiết bị đã kết nối trước đó (trong khoá đăng ký HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum ), xóa các thiết bị không sử dụng và xóa các khu vực đặt trước cổng COM.