在 Windows 11 中列出 COM 口并找到占用端口的程序
获取系统中的串口列表并找到应用程序使用的 COM 口
对于调试和维护工业设备的专业人员、系统管理员以及电子爱好者来说,和 COM 口打交道是家常便饭。这些端口用于与微控制器、传感器以及其他通过串行接口工作的设备通信。工作中经常需要确定计算机上有哪些 COM 口可用,并查看经由这些端口传输的数据。
在使用新设备或未知设备时,了解计算机上的 COM 口尤其重要,因为 COM 口编号(例如 COM10)是与该设备通信的前提。
如何查看 Windows 上的所有 COM 口
这件事未必像看起来那么简单。最直接的办法是打开设备管理器,展开"端口 (COM 和 LPT)"组查看列表。但这并不总是奏效:
- 设备可能出现在设备管理器中意想不到的位置(例如"调制解调器")。
- 端口编号未必显示在设备名称旁边,需要深入设备设置才能找到(例如多端口适配器或虚拟设备)。
- 一个物理设备可能创建多个端口(例如蓝牙设备)。
这时可以使用 Advanced Serial Port Monitor。该程序通过多种方式识别端口,从而得到最完整的端口列表,包括端口编号及其说明:
- 下载 Serial Port Monitor(第一个链接)并安装到计算机上。安装时所有选项保持默认即可。
- 运行 ASPM,程序会在启动时识别所有端口(见图)。

如何找到应用程序使用的 COM 口
在 Windows 中,每个 COM 口只能被一个程序使用,因为端口以独占方式打开。如果不知道端口编号,可以用 Advanced Serial Port Monitor 之类的程序逐个选择并打开端口,通过简单的试错法找到它。打开端口时使用"Manual"模式(主菜单 → Mode)和常见的标准通信参数 9600 8N1。
- 运行 Serial Port Monitor。
- 在列表中选择要测试的端口。
- 点击"Open"按钮。
- 如果按钮文字变为"Close"且没有出现错误提示,说明端口已成功打开,没有被其他程序占用。
- 如果端口无法打开,可能是其他程序正在使用它;ASPM 会显示占用该端口的进程名称。此时通常伴随错误提示:端口被占用,拒绝访问。
- 如有可能,关闭占用端口的程序并再次尝试打开端口,以确认确实是该程序占用了端口。
如何检测应用程序的通信参数
Advanced Serial Port Monitor 不仅能查看经由 COM 口传输的数据,还能确定通信参数。当您需要了解某个应用程序通过串行接口与外部设备通信时所用的设置时,这一点非常有用。通信参数包括:波特率、数据位数、停止位数、奇偶校验等。检测方法如下:
- 关闭与外部设备通信的应用程序。
- 运行 Serial Port Monitor。
- 打开程序设置"Options → Program settings → Data view → System events",确保列表中所有系统事件都已勾选。点击"OK"保存设置。
- 在列表中选择所需端口。
- 选择"Mode → Spy"。
- 点击"Open"按钮。
- 运行您的应用程序,并让它进行几秒钟的数据交换。
- 程序主窗口会显示数据交换过程,系统事件以红色高亮显示。查看事件时使用"ASCII"数据窗口更方便。
- 关闭端口以停止数据流。
- 滚动到数据窗口顶部。
- 查找包含"Baud rate"和"Data bits"的行,其中就是另一个应用程序打开端口时使用的通信参数。

串口扫描器
要把 Advanced Serial Port Monitor 当作串口扫描器使用:
- 打开 Mode 菜单并选择 Manual 模式。在这种模式下,程序可以与具体端口交互,而不只是监视现有的通信。
- 在手动模式下,找到端口下拉列表(位于程序窗口左上角)。该列表显示 Windows 设备管理器当前识别的所有 COM 口,包括物理 RS232 端口、USB 转串口适配器(如 CH340 或 FTDI)以及虚拟端口。
- 逐一对每个可用端口点击 Open 按钮,即可确认它们都处于活动状态并可以使用。
端口正常打开后,状态栏通常会显示连接为"Open"。要检查硬件是否响应,可以发送测试命令,或切换 DTR 和 RTS 等信号线。如果另一个程序已经在使用某个端口,软件会显示错误提示。"Advanced"版本的一个重要功能是能够找出此刻正在使用该端口的具体进程或服务,这是弄清连接为何失败的重要一步。
另请参阅
Windows 11 和 10 中 COM 口不工作:5 种解决方法
在 Windows 11 中列出 COM 口并找到占用端口的程序
COM 口无法打开、拒绝访问:5 种修复方法
在 Windows 11 中检查和测试 COM 口:CMD、PowerShell
串口乱码:按顺序做 7 项检查