Windows10下avrdude报ser_open(): can't set com-state for "\\.\COM3"错误如何解决
avrdude: ser_open(): can't set com-state for "\\.\COM3" Windows 10 修复方案 1. 串口占用排查
- 打开设备管理器,展开「端口(COM和LPT)」分组,确认COM3对应的是你要烧录的目标硬件,没有被其他串口设备抢占端口号
- 关闭所有可能占用串口的程序:串口监视器、串口调试工具、其他烧录软件、虚拟机、远程控制类工具,这类程序后台持有的串口句柄会直接导致avrdude无法修改串口状态
- 打开任务管理器,结束所有残留的
avrdude进程后再尝试烧录
2. 驱动与串口配置修复
- 右键设备管理器中COM3对应的串口设备,选择「卸载设备」,勾选「删除此设备的驱动程序软件」后完成卸载,重新拔插硬件让系统自动重装驱动,也可以手动安装硬件官方提供的对应串口芯片(CH340/CP2102/FTDI等)驱动
- 进入串口设备的「属性」-「端口设置」-「高级」页面,确认COM端口号无冲突,如果存在其他设备占用COM3的情况,可以手动将当前串口修改为其他未被使用的COM号,同步修改烧录工具内的端口配置后重试
- 切换到串口设备属性的「电源管理」标签,取消勾选「允许计算机关闭此设备以节约电源」,保存设置后重启电脑重试
3. 系统权限与干扰排查
- 右键烧录工具(Arduino IDE/PlatformIO等),选择「以管理员身份运行」后再尝试烧录,避免普通用户权限不足导致串口配置修改失败
- 临时关闭Windows Defender实时保护和第三方安全软件测试,部分安全策略会拦截串口配置修改操作,验证有效后可将烧录工具和
avrdude程序加入安全软件白名单 - 卸载系统中安装的第三方虚拟串口工具,这类工具可能会篡改系统串口堆栈配置导致原生串口访问异常
内容的提问来源于stack exchange,提问作者andril gowdhaman
相关产品推荐
相关产品推荐

