Computer >> คอมพิวเตอร์ >  >> ระบบ >> Windows 7

วิธีล้างหรือรีเซ็ตหมายเลขพอร์ต COM ใน Windows

เมื่อคุณเชื่อมต่ออุปกรณ์ COM ใหม่หรืออุปกรณ์ USB เข้ากับคอมพิวเตอร์ของคุณ (โมเด็ม USB, โทรศัพท์มือถือ, อะแดปเตอร์ Bluetooth, ตัวแปลงอนุกรมเป็น USB ฯลฯ) Windows จะตรวจพบโดยใช้ Plug-n-Play และกำหนดให้ COM หมายเลขพอร์ต ในช่วง 1 ถึง 255 (COM1, COM2, COM3 เป็นต้น) หากอุปกรณ์นี้เชื่อมต่ออีกครั้ง COM ที่สงวนไว้ (Communication หรือ Serial ) หมายเลขพอร์ตถูกกำหนดให้กับมัน อุปกรณ์ใหม่จะได้รับหมายเลขพอร์ต COM แรกฟรี บ่อยครั้งเมื่อเชื่อมต่อ อุปกรณ์ภายนอกจะสร้างพอร์ต COM หลายพอร์ตพร้อมกัน ในกรณีของฉันหลังจากเชื่อมต่ออะแดปเตอร์บลูทูธ 10!!! มีพอร์ต COM ใหม่ปรากฏในระบบ

แอปพลิเคชันรุ่นเก่าจำนวนหนึ่งสามารถระบุหมายเลขพอร์ต COM สองหลักเท่านั้น และจะไม่ทำงานกับ COM100 ขึ้นไป ในกรณีที่เลวร้ายที่สุด โปรแกรมเหล่านี้ใช้งานได้เฉพาะกับ COM1-COM9 พอร์ต จะเกิดอะไรขึ้นหากอุปกรณ์มีหมายเลขพอร์ต COM ที่สูงกว่า เป็นไปได้ไหมที่จะรีเซ็ตการกำหนดหมายเลขสำหรับพอร์ต COM ที่สงวนไว้และลบพอร์ตที่กำหนด?

สารบัญ:

  • จะเปลี่ยนหมายเลขพอร์ต COM สำหรับอุปกรณ์ใน Windows ได้อย่างไร
  • ค้นหาว่ากระบวนการใดใช้พอร์ต Serial COM ใน Windows
  • การรีเซ็ตหมายเลขพอร์ต COM ในรีจิสทรีของ Windows

จะเปลี่ยนหมายเลขพอร์ต COM สำหรับอุปกรณ์ใน Windows ได้อย่างไร

ใน Windows คุณสามารถเปลี่ยนหมายเลขพอร์ต COM ที่กำหนดให้กับอุปกรณ์ได้ด้วยตนเอง สมมติว่าพอร์ต COM ที่จำเป็นไม่ว่างอยู่แล้ว และคุณต้องการลองทำให้ว่าง

  1. เปิดตัวจัดการอุปกรณ์โดยเรียกใช้ devmgmt.msc คำสั่ง;
  2. เลือก ดู->แสดงอุปกรณ์ที่ซ่อนอยู่ ในเมนู; วิธีล้างหรือรีเซ็ตหมายเลขพอร์ต COM ใน Windows
  3. จากนั้นขยาย พอร์ต (COM &LPT) และค้นหาอุปกรณ์ของคุณในรายการ
  4. ไปที่ การตั้งค่าพอร์ต แท็บแล้วคลิก ขั้นสูง ปุ่ม;
  5. หมายเลขพอร์ต COM ปัจจุบันที่กำหนดให้กับอุปกรณ์สามารถพบได้ใน หมายเลขพอร์ต COM ฟิลด์;
  6. ในการเปลี่ยนแปลง ให้เปิดรายการดรอปดาวน์และเลือกหมายเลขพอร์ต COM ที่คุณต้องการตั้งค่า วิธีล้างหรือรีเซ็ตหมายเลขพอร์ต COM ใน Windows

แต่บ่อยครั้ง คุณไม่สามารถเปลี่ยนหมายเลขพอร์ต COM ที่กำหนดเป็นหมายเลขอื่นในคุณสมบัติของฮาร์ดแวร์ได้ เนื่องจากพอร์ต COM ที่ "ต่ำกว่า" ทั้งหมดถูกใช้ไปแล้ว ในกรณีนี้ คุณต้องลองลบการจองพอร์ต COM

  1. ขยาย พอร์ต (COM &LPT) ค้นหาหมายเลขพอร์ต COM ที่คุณต้องการถูกกำหนด (ไอคอนซีดหมายความว่าพอร์ต COM นี้ถูกกำหนดแล้ว แต่อุปกรณ์นี้ไม่ได้เชื่อมต่ออยู่)
  2. คลิกขวาและเลือก ถอนการติดตั้ง ; วิธีล้างหรือรีเซ็ตหมายเลขพอร์ต COM ใน Windows
  3. ตอนนี้ คุณสามารถกำหนดพอร์ต COM ที่ว่างให้กับอุปกรณ์อื่นได้ เปิดคุณสมบัติของอุปกรณ์ของคุณอีกครั้ง ไปที่ การตั้งค่าพอร์ต -> ขั้นสูง แท็บ จากนั้นไปที่ พอร์ต การตั้งค่า แท็บแล้วคลิก ขั้นสูง . เลือกพอร์ต COM ฟรีในรายการดรอปดาวน์ วิธีล้างหรือรีเซ็ตหมายเลขพอร์ต COM ใน Windows

อย่างไรก็ตาม วิธีนี้ไม่อนุญาตให้คุณเพิ่มพอร์ต COM ที่ไม่ว่างในทุกกรณี

คุณสามารถรับรายการพอร์ต COM ที่ไม่ว่างทั้งหมดบน Windows ได้โดยใช้ PowerShell:

Get-WMIObject Win32_SerialPort | Select-Object Name,DeviceID,Description
คุณสามารถรับหมายเลขพอร์ต COM สำหรับอุปกรณ์เฉพาะตามชื่อของมันได้ เช่น:

Get-WMIObject Win32_SerialPort | Where-Object { $_.Name -like "*Arduino*"}|select name, deviceid
หรือ
Get-WMIObject Win32_SerialPort | Where-Object { $_.Name -like "*GPS*"}|select name, deviceid

ค้นหาว่ากระบวนการใดกำลังใช้พอร์ต Serial COM ใน Windows

คุณจะไม่สามารถปล่อยพอร์ต COM ของอุปกรณ์ที่ใช้โดย Windows หรือโปรแกรมที่ทำงานอยู่ (กระบวนการ) ขั้นแรก คุณต้องหยุดกระบวนการที่กำลังใช้พอร์ต COM คุณสามารถใช้ Process Explorer เครื่องมือ (โดย Sysinternals) เพื่อค้นหาชื่อของกระบวนการโดยใช้หมายเลขพอร์ต COM เฉพาะ (https://docs.microsoft.com/en-gb/sysinternals/downloads/process-explorer)

ขั้นแรก คุณต้องแสดงชื่อของบริการที่ใช้พอร์ต COM เรียกใช้คำสั่ง PowerShell:

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

วิธีล้างหรือรีเซ็ตหมายเลขพอร์ต COM ใน Windows

ชื่อบริการของพอร์ต COM เฉพาะจะแสดงใน บริการ คอลัมน์. ตัวอย่างเช่น สำหรับ COM2 จะเป็น Serial . ตอนนี้ คุณต้องเรียกใช้ Process Explorer ในฐานะผู้ดูแลระบบ และเลือก ค้นหา -> ค้นหา Handle หรือ DLL จากเมนู ใน สตริงย่อย Handle หรือ DLL บรรทัด ป้อนค่าบริการที่ได้รับก่อนหน้านี้ ในตัวอย่างของเรา นี่คือ Serial .

Process Explorer ควรแสดงชื่อกระบวนการที่กำลังใช้พอร์ต COM ของคุณ หากต้องการปล่อยพอร์ต COM ให้ฆ่ากระบวนการหรือโปรแกรม

วิธีล้างหรือรีเซ็ตหมายเลขพอร์ต COM ใน Windows

การรีเซ็ตหมายเลขพอร์ต COM ในรีจิสทรีของ Windows

ข้อมูลเกี่ยวกับพอร์ต COM ที่ใช้งานถูกเก็บไว้ใน CommDB พารามิเตอร์รีจิสทรีภายใต้ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter คีย์ reg.

  1. เปิด Registry Editor (regedit.exe ) และไปที่รีจิสตรีคีย์ที่กล่าวถึงข้างต้น วิธีล้างหรือรีเซ็ตหมายเลขพอร์ต COM ใน Windowsสำคัญ! เราขอแนะนำให้คุณสำรองข้อมูลคีย์รีจิสทรีนี้ (ไฟล์ -> ส่งออก) ก่อนดำเนินการใดๆ หากมีข้อผิดพลาด คุณสามารถคืนค่าการกำหนดค่าพอร์ต COM เดิมได้
  2. คุณค่าของ ComDB พารามิเตอร์ในรูปแบบไบนารีจะกำหนดรายการพอร์ต COM ที่สงวนไว้ใน Windows แต่ละบิตกำหนดสถานะของพอร์ตที่เกี่ยวข้อง (ตั้งแต่ 1 ถึง 255) ตัวอย่างเช่น หากคุณต้องการออกจากการจองสำหรับ COM3 เท่านั้น ค่าฐานสิบหกของ ComDB จะเท่ากับ 04 (0000 0100) วิธีล้างหรือรีเซ็ตหมายเลขพอร์ต COM ใน Windows
    สำคัญ! ระวังให้มาก และอย่าเพิ่มบิตเพิ่มเติมในพารามิเตอร์ มิฉะนั้นระบบจะเริ่มล้มเหลวใน BSOD
  3. หากคุณต้องรีเซ็ตการเชื่อมโยงพอร์ต COM ทั้งหมด ให้เปลี่ยนค่าของ ComDB เป็น 0; วิธีล้างหรือรีเซ็ตหมายเลขพอร์ต COM ใน Windows
    หมายเหตุ . คุณสามารถดูรายการพอร์ต COM ทั้งหมดที่เชื่อมต่อใน Windows ได้ที่คีย์รีจิสทรี HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM รายการรีจิสทรีภายใต้ SERIALCOMM สามารถแสดงได้ก็ต่อเมื่ออุปกรณ์พื้นฐานเชื่อมต่อและพร้อมใช้งานเท่านั้น คีย์ย่อยนี้เป็นส่วนหนึ่งของคีย์ HARDWARE และสร้างขึ้นใหม่ทุกครั้งที่ระบบเริ่มทำงาน วิธีล้างหรือรีเซ็ตหมายเลขพอร์ต COM ใน Windows
  4. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports คีย์รีจิสทรีประกอบด้วยรายการหมายเลขพอร์ต COM ที่กำหนดทั้งหมด คุณสามารถลบการจองพอร์ตที่ไม่จำเป็นทั้งหมดออกได้ ในตัวอย่างของเรา เราจะปล่อยเฉพาะ COM3 และลบพอร์ตที่เหลือ วิธีล้างหรือรีเซ็ตหมายเลขพอร์ต COM ใน Windows
  5. ถอดปลั๊กอุปกรณ์ภายนอกทั้งหมดและรีสตาร์ทคอมพิวเตอร์
  6. หลังจากการรีบูต ให้เชื่อมต่ออุปกรณ์ตามลำดับที่จำเป็น ติดตั้งตัวแปลง USB เป็นซีเรียลใหม่ ฯลฯ อุปกรณ์พอร์ต COM ที่ตรวจพบทั้งหมดจะถูกตรวจพบโดยอัตโนมัติโดยระบบและกำหนดหมายเลขพอร์ต COM ตามลำดับ

คุณยังสามารถใช้เครื่องมือฟรีต่อไปนี้เพื่อล้างพอร์ต COM ที่สงวนไว้:

  • COM Name Arbiter Tool – เครื่องมือนี้สามารถช่วยคุณรีเซ็ตการจองพอร์ต COM และค้นหาหมายเลขพอร์ต COM ที่ใช้ ดาวน์โหลดเครื่องมือและเรียกใช้ในฐานะผู้ดูแลระบบ เลือกพอร์ต COM ที่คุณต้องการปล่อยและคลิกล้างการจองที่ไม่ได้ใช้ และ นำอุปกรณ์ที่ไม่มีอยู่ออก วิธีล้างหรือรีเซ็ตหมายเลขพอร์ต COM ใน Windows
  • เครื่องมือล้างข้อมูลอุปกรณ์ – ยูทิลิตี้นี้ใช้เพื่อค้นหารีจิสทรีสำหรับอุปกรณ์ที่เชื่อมต่อก่อนหน้านี้ (ภายใต้คีย์รีจิสทรี HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum ) นำอุปกรณ์ที่ไม่ได้ใช้ออก และล้างการจองพอร์ต COM