CH340/CH341驱动安装全攻略:Win10/Win11三种方案彻底解决USB转串口识别问题
2026/9/24 3:07:10 网站建设 项目流程

1. 为什么一块几块钱的芯片能让这么多人卡在第一步

如果你手头有一块 Arduino、ESP32 开发板、STM32 最小系统板,或者某个工控设备、扫码枪、老式串口模块,插上电脑之后设备管理器里蹦出来一个带黄色感叹号的“USB2.0-Serial”或者干脆什么都不显示,那大概率就是 CH340 或 CH341 这颗芯片在跟你闹脾气。这颗由沁恒微电子出品的 USB 转串口芯片,凭借极低的成本和够用的性能,几乎统治了国内中低端开发板和串口设备市场。但它的驱动安装,却成了无数人从入门到放弃的第一道坎。

我这些年帮人远程处理过不下几十次“串口识别不了”的问题,发现一个规律:问题很少出在芯片本身,绝大多数是驱动版本、系统签名策略、安装方式三者之间的匹配问题。Win10 和 Win11 在这件事上的表现还不一样,Win11 对驱动签名的要求更严格,而网上流传的很多老驱动包还是 2014 年甚至更早的版本,装上去要么报错,要么装完了端口能识别但一收发数据就断。

这篇内容我打算把 CH340/CH341 在 Win10 和 Win11 上的驱动安装彻底讲透,给出三种经过实测的安装方案,并且把每种方案的适用场景、踩坑点和验证方法都说清楚。不管你是刚买第一块开发板的新手,还是被某个老设备驱动折磨过的老手,应该都能从这里找到能直接用的操作路径。关键词就围绕 CH340、CH341、USB 转串口驱动、Win10、Win11 这几个核心点展开,不扯远的。

2. 先搞清楚你手里的到底是 CH340 还是 CH341

很多人把这两个型号混着叫,实际上它们有区别,驱动虽然经常通用,但搞清楚型号能帮你少走弯路。

2.1 型号差异与常见封装

CH340 是一个系列,包含 CH340G、CH340C、CH340E、CH340B、CH340N 等多个尾缀,最常见的是 CH340G(SOP-16 封装)和 CH340C(内置晶振,外围更简单)。CH341 则是另一个系列,常见的有 CH341A、CH341T、CH341S,其中 CH341A 最出名,因为它不仅能做 USB 转串口,还能做 USB 转并口、I2C、SPI,很多便宜的编程器(比如刷 BIOS 的土豪金编程器)用的就是它。

从驱动角度看,沁恒官方把 CH340 和 CH341 的驱动合并在一起发布,所以你会看到驱动包名字叫 CH341SER 或者 CH34XSER,里面同时支持这两个系列。这一点很重要:你不需要为 CH340 和 CH341 分别找驱动,一个包搞定

型号常见封装典型用途是否内置晶振
CH340GSOP-16Arduino Nano、老版开发板否,需外接12M晶振
CH340CSOP-16新版开发板、串口模块
CH340NSOP-8小型串口模块
CH341ASOP-28编程器、并口转换
CH341TSSOP-20串口转换

2.2 怎么确认自己设备里的芯片型号

最直接的办法是看设备管理器里的硬件 ID。插上设备,右键“此电脑”进“管理”,打开“设备管理器”,找到那个带感叹号或者显示为“USB2.0-Serial”的设备,右键属性,切到“详细信息”选项卡,在“属性”下拉里选“硬件 ID”,你会看到类似这样的内容:

USB\VID_1A86&PID_7523&REV_0264 USB\VID_1A86&PID_7523

VID_1A86 就是沁恒的厂商 ID,PID_7523 对应 CH340,PID_5523 对应 CH341。记住这个 PID,后面判断驱动是否装对的时候用得上。

提示:有些山寨设备会篡改 VID/PID,如果你看到 VID 不是 1A86,那可能是用了别的芯片或者被改了,驱动方案要另说。

2.3 驱动装不上时先排除硬件问题

在折腾驱动之前,先做两个基本检查,能省掉大量无用功。第一,换一根 USB 线。我遇到过至少五次“驱动死活装不上”,最后发现是线的问题——有些充电线只有电源线没有数据线,插上去设备能亮灯但电脑根本不认。第二,换一个 USB 口,优先插主板后置的 USB 口,前置面板或者扩展坞的供电和信号质量有时候不靠谱。

如果换线换口之后设备管理器里连“未知设备”都不出现,那可能是设备本身供电或者芯片损坏,跟驱动无关了。

3. 方案一:官方驱动手动安装,最稳但步骤最多

这是我最推荐的方案,尤其是 Win11 用户。官方驱动签名完整,兼容性最好,缺点是步骤比“双击下一步”要多几步。

3.1 驱动包的获取与版本选择

沁恒官网(wch.cn)的下载页面提供最新版驱动,目前稳定版本是 CH341SER.EXE(版本号 3.8 及以上)。网上很多“CH340驱动下载 百度云”的链接给的是 2014 年的 3.4 版本,那个版本在 Win11 上会因为签名问题装不上,或者装上了也不稳定。认准 3.8 或更高版本

下载的时候注意区分:官网提供 EXE 安装版和 ZIP 压缩版。EXE 版双击就能装,ZIP 版里面是 INF、SYS、CAT 文件,适合手动指定安装。两种我都用过,EXE 版在 Win10 上基本一路下一步就行,Win11 上有时候会被 SmartScreen 拦一下。

3.2 Win10 下的标准安装流程

Win10 的流程相对简单:

  1. 拔掉 CH340 设备(重要,先别插)
  2. 双击 CH341SER.EXE,如果弹出用户账户控制就点“是”
  3. 点击“安装”按钮,等待进度条走完
  4. 看到“驱动安装成功”提示后,点确定
  5. 重新插上设备,打开设备管理器

正常情况下,你会在“端口(COM 和 LPT)”下面看到“USB-SERIAL CH340 (COMx)”,COM 号是系统分配的,记下来后面要用。

如果装完之后设备管理器里还是感叹号,右键那个设备选“更新驱动程序”,然后选“浏览我的电脑以查找驱动程序”,手动指向驱动安装目录(通常在C:\Program Files (x86)\WCH\CH341SER或者你解压 ZIP 的目录),让系统自己匹配 INF 文件。

3.3 Win11 下的签名拦截与绕过

Win11 对驱动签名的要求比 Win10 严格得多。官方 3.8 版本的驱动是有正规签名的,正常情况能装上。但如果你用的是老版本驱动,或者系统开了“内存完整性”之类的安全功能,可能会遇到“Windows 无法验证此驱动程序软件的发布者”的报错。

遇到这种情况,不要急着去关内存完整性(那个影响面太大),先确认你用的是最新版官方驱动。如果确认是最新版还是报签名错误,可以临时禁用驱动签名强制:

  1. 按住 Shift 键,同时点击开始菜单里的“重启”
  2. 电脑重启后会进入蓝色菜单,选“疑难解答”->“高级选项”->“启动设置”->“重启”
  3. 重启后按数字键 7 或 F7,选择“禁用驱动程序强制签名”
  4. 进入系统后重新安装驱动

这个设置只对本次开机有效,重启后恢复。装完驱动验证没问题了,正常重启即可。

注意:禁用驱动签名强制是临时手段,不要长期开着。装完确认能用之后,正常重启让签名强制恢复。

3.4 安装后的验证方法

驱动装没装对,不能只看设备管理器有没有感叹号。我习惯用三步验证:

第一步,设备管理器里看端口号,确认是“USB-SERIAL CH340”而不是“USB2.0-Serial”或者别的名字。

第二步,用串口调试助手(比如 SSCOM、XCOM、或者 Arduino IDE 自带的串口监视器)打开对应 COM 口,能打开不报错。

第三步,做一次回环测试。把 CH340 模块的 TX 和 RX 用杜邦线短接,然后串口助手发数据,如果发出去的内容原样收回来,说明收发都正常。这一步能排除“端口能打开但数据不通”的隐性故障。

4. 方案二:让系统自动匹配,适合不想折腾的场景

不是所有人都愿意手动装驱动。如果你用的是 Win10 较新版本或者 Win11,系统自带的驱动库有时候能自动识别 CH340 并装上可用驱动。

4.1 自动匹配的触发条件

自动匹配能不能成功,取决于两个因素:系统版本和联网状态。Win10 1809 之后的版本,Windows Update 的驱动库里已经包含了 CH340 的通用驱动。Win11 更是如此。但前提是电脑能联网,且没有关闭 Windows Update 的驱动更新功能。

触发方式很简单:插上设备,等几分钟,系统会在后台通过 Windows Update 拉取驱动。你可以在设备管理器里右键那个未知设备,选“更新驱动程序”->“自动搜索驱动程序”,手动触发一次。

4.2 自动装的驱动有什么坑

自动匹配的驱动能用,但有两个隐患。第一,版本可能偏旧,某些需要高波特率(比如 2Mbps 以上)或者特殊流控的场景可能不稳定。第二,自动装的驱动有时候会把 CH340 识别成“USB-SERIAL CH340”但 COM 口号分配得很奇怪,或者每次插拔 COM 号都变。

我实测下来,自动匹配的驱动在普通 115200 波特率以下的场景完全够用,但如果你要做高速通信或者需要固定 COM 号,还是建议用方案一手动装官方最新版。

4.3 关闭了自动更新怎么办

有些朋友为了系统稳定,把 Windows Update 的驱动更新关了(这个在“win11关闭自动更新”相关搜索里很常见)。这种情况下自动匹配就不会触发。解决办法是临时打开驱动更新,或者直接走方案一。

具体操作:右键“此电脑”->“属性”->“高级系统设置”->“硬件”选项卡->“设备安装设置”,确认“是否要自动下载制造商的应用和自定义图标”选的是“是”。Win11 里这个选项的位置在“设置”->“系统”->“关于”->“高级系统设置”里能找到。

5. 方案三:手动指定 INF 文件,解决顽固识别问题

有些情况下,前两个方案都不管用:设备管理器里显示的是“未知设备”,自动搜索找不到驱动,官方 EXE 装完了也没反应。这时候需要手动指定 INF 文件。

5.1 什么情况下需要手动指定

典型场景包括:设备被识别成其他类型的设备(比如 HID 或者 USB 复合设备),系统里已经装了冲突的旧版驱动,或者你用的是精简版系统、LTSC 版本,驱动库被裁剪过。

还有一种情况是 CH340 被别的驱动“抢占”了。比如你之前装过某个串口设备的驱动,它的 INF 里也声明了 VID_1A86,系统就不知道该用哪个。这时候需要手动指定,强制用 CH340 的 INF。

5.2 手动指定 INF 的完整步骤

  1. 从官网下载 ZIP 版驱动,解压到一个路径简单的目录,比如D:\ch340drv,路径里不要有中文和空格
  2. 设备管理器里右键问题设备,选“更新驱动程序”
  3. 选“浏览我的电脑以查找驱动程序”
  4. 选“让我从计算机上的可用驱动程序列表中选取”
  5. 如果列表里有“USB-SERIAL CH340”,直接选它;如果没有,点“从磁盘安装”
  6. 浏览到D:\ch340drv,选中CH341SER.INF,确定
  7. 系统会列出匹配的型号,选 CH340 对应的那项,下一步安装

安装过程中如果弹出“不推荐安装此驱动程序”的警告,选“仍然安装”。这个警告通常是因为驱动没有通过 WHQL 认证,不代表驱动有问题。

5.3 装完还是感叹号怎么办

如果手动指定 INF 之后设备管理器里依然是感叹号,右键设备看“属性”->“常规”选项卡里的“设备状态”,会给出错误代码。常见的有:

错误代码含义处理方向
代码 10设备无法启动驱动冲突或硬件故障
代码 28未安装驱动INF 没匹配上,检查硬件 ID
代码 43设备被报告故障换线换口,可能是供电问题
代码 52签名验证失败用最新版驱动或临时禁用签名强制

代码 10 和 43 很多时候是硬件或者线材问题,不要死磕驱动。代码 28 说明 INF 里的硬件 ID 和你设备的对不上,需要检查 VID/PID。

6. 那些让人抓狂的兼容性问题和真实排查记录

驱动装上了不代表万事大吉。下面这几个问题是我在实际使用中反复遇到的,每一个都值得单独说。

6.1 端口能打开但一收发就断

这个问题的典型表现是:串口助手能打开 COM 口,但一发数据就报错,或者发出去没反应,设备管理器里端口突然消失又出现。原因通常是驱动版本和芯片固件不匹配,或者 USB 供电不足。

我遇到过一次特别典型的:一块 CH340G 的模块,用官方 3.8 驱动,115200 波特率下正常,但一上 921600 就断。换了一根带屏蔽的短 USB 线就好了。高速波特率对线材质量很敏感,这不是驱动能解决的。

还有一种情况是“程序连接串口成功,CH340 驱动正常,程序串口端口后,重连出现端口拒绝访问”。这是典型的端口没被正确释放。上一个程序关闭时没有调用 CloseHandle,端口被占用着,新程序就打不开。解决办法是在程序里确保异常退出时也释放串口句柄,或者用串口调试助手先打开再关闭一次,强制释放。

6.2 Mixly 和 Arduino IDE 找不到端口

“Mixly 没有 CH340 端口”这个问题在创客教育圈特别常见。Mixly 基于 Arduino IDE 的底层,端口列表来自系统。如果 Mixly 里看不到端口,但设备管理器里有 COM 口,通常是 Mixly 自带的串口库版本太老,枚举端口的方式和 Win11 不兼容。

解决办法有两个:一是升级 Mixly 到最新版,二是先在 Arduino IDE 里确认端口能识别,然后关掉 Arduino IDE 再开 Mixly。有时候 Arduino IDE 会占用端口,导致 Mixly 看不到。

6.3 虚拟机里的 CH340 识别问题

在 VMware 或 VirtualBox 里跑 Win10/Win11 虚拟机,想把 CH340 设备直通给虚拟机用,需要在虚拟机设置里把 USB 控制器打开,并且把设备从宿主机“断开连接”再“连接到虚拟机”。VMware 里是在“虚拟机”->“可移动设备”里找到 CH340,选“连接”。

这里有个坑:如果宿主机上已经装了 CH340 驱动并且占用了设备,虚拟机可能抢不过来。需要先在宿主机设备管理器里把设备禁用,再在虚拟机里连接。另外,虚拟机里的驱动要重新装一遍,不能共用宿主机的。

6.4 Ubuntu 和 Linux 下的情况

虽然这篇主要讲 Win10/Win11,但很多人是双系统或者用 Linux 开发。Ubuntu 下 CH340 是内核自带的 ch341 驱动,插上就能用,不需要额外装。用ls /dev/ttyUSB*能看到设备节点。如果要用 PuTTY 连接,装个 putty 然后选/dev/ttyUSB0就行。

Linux 下唯一需要注意的是权限问题。普通用户默认没有串口设备的读写权限,需要把自己加到 dialout 组:sudo usermod -aG dialout $USER,然后重新登录。或者临时用sudo chmod 666 /dev/ttyUSB0,但这个重启就失效了。

6.5 关于 RTS 电平控制

“CH340 如何置 RTS 电平”这个搜索词说明有人在做需要硬件流控或者复位控制的项目。CH340 支持 RTS/DTR 输出,在串口助手里通常有勾选框可以手动置位。如果是程序控制,在 Windows 下用EscapeCommFunctionAPI,传入SETRTSCLRRTS。Linux 下用ioctlTIOCMSET

这个功能常见于用 DTR/RTS 给 ESP32 或者 Arduino 做自动复位。如果发现复位不正常,先确认驱动支持这些控制线,老版本驱动有时候对 RTS 的支持有问题。

7. 驱动装好之后,怎么让串口用起来更省心

驱动只是第一步,日常使用中还有一些设置能让串口通信更稳定。

7.1 固定 COM 口号

默认情况下,每次插拔设备系统可能分配不同的 COM 号,这对需要固定端口号的程序很不友好。可以在设备管理器里右键 CH340 设备->“属性”->“端口设置”->“高级”,在“COM 端口号”下拉里指定一个固定的号,比如 COM10。这样只要插的是同一个 USB 口,COM 号就不变。

注意:换 USB 口之后,系统会认为是新设备,需要重新设置。所以尽量固定用一个 USB 口。

7.2 调整延迟和缓冲区

同一个“高级”设置页面里,有个“延迟时间”选项,默认 16 毫秒。如果你做的是实时性要求高的通信,可以调到 1 毫秒,能降低延迟。但调太低可能导致大数据量时丢包,需要根据实际情况权衡。

还有接收和发送缓冲区大小,默认值一般够用。如果做高速大数据量传输,可以适当调大。

7.3 排查驱动是否被系统更新覆盖

Windows Update 有时候会“好心”地把你的官方驱动替换成它驱动库里的版本。如果某天突然发现串口不好用了,先检查驱动版本是不是变了。在设备管理器里右键设备->“属性”->“驱动程序”选项卡,看“驱动程序版本”。如果被换了,重新按方案一装一遍官方版。

可以在“驱动程序”选项卡里点“回退驱动程序”试试,但更彻底的办法是重新安装。

8. 关于驱动安装这件事,我踩过的坑和总结的经验

折腾 CH340 驱动这么多年,有几个经验是文档里不会写但特别有用的。

第一,永远先怀疑线材和 USB 口,再怀疑驱动。我统计过自己处理过的问题,大概三成是线的问题,两成是 USB 口供电问题,剩下五成才是驱动。先做最简单的排除,能省大量时间。

第二,驱动版本不是越新越好,但太老肯定不行。3.8 版本是目前兼容性和稳定性平衡得最好的。有些特殊设备可能需要特定版本,但绝大多数场景用最新官方版就对了。

第三,Win11 的驱动签名问题不要用关闭内存完整性来解决。内存完整性是 Win11 的重要安全功能,关了影响面太大。用最新版官方驱动,或者临时禁用签名强制装完再恢复,是更稳妥的做法。

第四,装完驱动一定要做回环测试。设备管理器里没感叹号不代表通信正常。TX-RX 短接回环测试是验证驱动和硬件都正常的最快方法。

第五,虚拟机里用串口,宿主机和虚拟机只能有一个占用设备。这个坑我踩过好几次,每次都是忘了在宿主机断开连接。

最后说一个细节:如果你用的是 CH341A 做编程器,除了串口驱动,可能还需要装编程器软件自带的驱动,两者不冲突但要注意安装顺序。先装串口驱动,再装编程器软件,一般不会出问题。

串口这东西,看起来简单,但真要用得顺手,驱动、线材、设置、程序每一环都得对。希望这篇内容能帮你把 CH340/CH341 这一环彻底搞定,把时间花在真正要做的事情上。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询