You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Win10下Python通过serial.Serial连接Arduino端口报错求助

解决Python serial连接Arduino时的"could not open port 'COM4'"错误

核心问题分析

报错serial.serialutil.SerialException: could not open port 'COM4': FileNotFoundError说明系统无法找到指定的COM端口,常见原因包括端口号错误、端口被占用、驱动未正确安装。

分步解决方案

  • 确认正确的串口端口号

    1. 打开Windows设备管理器(右键开始菜单→设备管理器)
    2. 展开「端口(COM和LPT)」列表,找到Arduino对应的串口(通常标注为Arduino Uno (COMx)或类似名称,x为数字,不一定是COM4)
    3. 如果看不到该条目,检查USB线是否插紧,或重新安装Arduino官方驱动
  • 释放被占用的串口

    • 关闭Arduino IDE的「串口监视器」(该工具会独占串口,导致Python无法连接)
    • 关闭其他可能占用串口的程序(如第三方串口调试工具)
  • 修正代码中的问题
    serial.write()要求传入字节类型数据,原代码中的字符串需要转成bytes,同时建议添加异常处理方便排查:

    import serial
    import time
    
    try:
        # 替换为你在设备管理器中找到的正确COM端口
        arduino = serial.Serial('COM3', 9600, timeout=1)
        time.sleep(2)  # 等待Arduino完成初始化
        # 将字符串转为字节再发送
        arduino.write(b'Hello Arduino!')
        time.sleep(0.2)
        arduino.close()
        print("数据发送成功")
    except serial.SerialException as e:
        print(f"连接失败: {str(e)}")
    
  • 排查权限与驱动问题

    • 右键点击Python脚本,选择「以管理员身份运行」,避免权限不足导致无法访问串口
    • 检查设备管理器中Arduino设备是否有黄色感叹号,若有则卸载后重新安装驱动

内容的提问来源于stack exchange,提问作者Syed Mohammad Hasnain Raza Riz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 05:25:03