使用共享COM端口时Pyserial出现‘Access Denied’错误的解决求助
解决虚拟串口共享时的Access Denied错误
检查HHD虚拟串口的共享模式配置
打开HHD虚拟串口工具,找到你创建的COM14与COM16配对项,确认是否开启了双向共享/镜像模式。部分虚拟串口工具默认是单向端口映射,而非多程序共享模式,需要手动设置两个端口为"允许多个应用同时访问"的状态。排查端口占用与进程残留
- 用PowerShell执行
Get-WmiObject Win32_SerialPort查看COM16的占用状态,或者使用Serial Port Monitor类工具确认是否有其他进程占用该端口。 - 如果Python程序之前的进程未正常释放端口,打开任务管理器结束所有Python相关进程后,再重新运行程序。
- 用PowerShell执行
修改Python pyserial的串口打开参数
在打开串口时添加exclusive=False参数,允许共享访问,示例代码:import serial # 根据你的实际波特率、超时等参数调整 ser = serial.Serial( port='COM16', baudrate=9600, timeout=1, exclusive=False )提升程序运行权限
右键点击Python IDE或运行程序的命令提示符,选择以管理员身份运行,避免系统权限不足导致的访问拒绝。部分虚拟串口工具创建的共享端口需要管理员权限才能正常访问。重新创建虚拟串口配对
删除现有的COM14-COM16配对,重新创建时选择共享串口模式(而非串口桥接模式),确保未勾选"独占访问"类选项,保证两个端口都支持多程序同时连接。
内容的提问来源于stack exchange,提问作者MHuff25
相关产品推荐
相关产品推荐

