ID: FAULT-02
串口调试常见故障诊断 (Troubleshooting)
串口 COM 端口被占用:The port is already open 怎么解决
打开在线串口调试工具
需 Chrome / Edge 桌面浏览器 · 串口数据仅在本地处理
打开串口时提示 `The port is already open`、Access is denied、Failed to open serial port,或设备管理器里 COM 灰掉、助手列表里选了也连不上——几乎总是 端口句柄仍被占用,而不是 CH340/CP2102 驱动坏了。本文按「先找占用者 → 再清 Web 锁 → 最后动系统」处理,覆盖桌面助手与浏览器 Web Serial。
一分钟判断:是不是占用 | 现象 | 更像 | |---|---| | 刚关过 Arduino 监视器又开本站 | 监视器未彻底释放 | | 两个网页标签都点了连接 | 同端口只能一个 reader | | 热拔插后立刻重连失败 | 旧句柄僵死 | | 设备管理器黄叹号 / 未知设备 | 驱动问题,见 CH340 等驱动文 | | 回环也打不开端口 | 占用或驱动;不是 MCU 协议 | 原则:同一物理 COM,同一时刻只允许一个程序持有。 Windows 不会把「半开」状态自动分给第二个客户端。
常见占用者(按现场频率) 1. Arduino IDE / PlatformIO 串口监视器 — 最常见;点上传也会短暂占用。 2. SSCOM、XCOM、PuTTY、SecureCRT、厂家私有上位机 — 托盘最小化仍占口。 3. Keil、IAR、STM32CubeProgrammer 的串口下载/打印窗口。 4. 另一个浏览器标签 / 另一台在线串口页 未点断开。 5. 虚拟机 USB 透传 把设备分给了 guest,宿主侧 open 失败。 6. 崩溃残留:进程已无窗口,句柄未释放。
处理步骤(建议严格按序)
1. 关软件:退出所有串口相关程序(看任务栏托盘)。Arduino 先关 Serial Monitor 再关 IDE。
2. 网页侧:在本站点「断开」→ 刷新标签;仍不行则关闭该标签与同源多开页。
3. 任务管理器:结束可疑 *serial*、厂家上位机、残留 chrome 调试窗口(慎杀)。
4. 拔插 USB:等 3 秒再插,让系统重建节点。
5. 设备管理器:对该 COM「禁用 → 启用」;或卸载设备(可不删驱动)后重插。
6. 浏览器:完全退出 Chrome/Edge 再开;Web Serial 授权异常时到站点设置清除串口权限后重新 requestPort。
7. 仍失败:注销 Windows 或重启;工控机再查是否组策略锁了端口。
Web Serial / 本站特别说明
浏览器里串口由 ReadableStream / WritableStream 独占。规范关闭顺序:
cancel 读循环 → reader.releaseLock() → writer.close/releaseLock → port.close()
异常拔线若不清理,容易留下「端口已打开」的假象。本站(Web Serial Pro)在断开与 disconnect 事件里会尽量释放;若你本地二次开发了串口页,务必自查关闭路径。
用本站验收占用是否清掉:
1. 电脑版 Chrome/Edge 打开 https://www.serialpro.top/
2. 点击连接,应弹出系统端口选择器且能 open
3. 发送 PING 或做 TX-RX 回环
4. 能 open 即占用已解除;仍 Access denied → 回到步骤 1–5
和「驱动问题」怎么区分 | 驱动问题 | 占用问题 | |---|---| | 设备管理器无 COM / 黄叹号 | COM 存在且名称正常 | | 所有软件都打不开 | 某一个软件能开、另一个不能 | | 换线换口仍未知设备 | 关某程序后立刻恢复 | 无 COM 口:先装 CH340 / CP2102 / FT232 官方驱动。有 COM 但 open 失败:优先本文。
预防(写进实验室规范) - 调试结束 先断开再拔线。 - 产线电脑固定工具白名单,禁止多助手抢口。 - 虚拟机与宿主不要同时透传同一 USB 串口。 - 教学机可在下课脚本里杀常见串口进程。
搜索用户常问 Arduino 能监视、网页不能? 先关监视器;同一 COM 不能双开。 提示 port already open 但任务管理器看不到程序? 拔插 USB + 禁用启用 COM;查虚拟机。 Mac 上资源忙? 同类:关掉 screen/minicom/串口监视,再连本站。 COM 被占用是串口联调最高频「假硬件故障」:先杀占用者,再清 Web 锁,最后才动驱动与注册表。清掉占用后,用本站免安装串口即可继续乱码/Modbus 联调。
打开在线串口调试工具
在本页完成排查后,用网页串口直接验证收发