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 等多个尾缀最常见的是 CH340GSOP-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_1A86PID_7523REV_0264 USB\VID_1A86PID_7523VID_1A86 就是沁恒的厂商 IDPID_7523 对应 CH340PID_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 的流程相对简单拔掉 CH340 设备重要先别插双击 CH341SER.EXE如果弹出用户账户控制就点“是”点击“安装”按钮等待进度条走完看到“驱动安装成功”提示后点确定重新插上设备打开设备管理器正常情况下你会在“端口COM 和 LPT”下面看到“USB-SERIAL CH340 (COMx)”COM 号是系统分配的记下来后面要用。如果装完之后设备管理器里还是感叹号右键那个设备选“更新驱动程序”然后选“浏览我的电脑以查找驱动程序”手动指向驱动安装目录通常在C:\Program Files (x86)\WCH\CH341SER或者你解压 ZIP 的目录让系统自己匹配 INF 文件。3.3 Win11 下的签名拦截与绕过Win11 对驱动签名的要求比 Win10 严格得多。官方 3.8 版本的驱动是有正规签名的正常情况能装上。但如果你用的是老版本驱动或者系统开了“内存完整性”之类的安全功能可能会遇到“Windows 无法验证此驱动程序软件的发布者”的报错。遇到这种情况不要急着去关内存完整性那个影响面太大先确认你用的是最新版官方驱动。如果确认是最新版还是报签名错误可以临时禁用驱动签名强制按住 Shift 键同时点击开始菜单里的“重启”电脑重启后会进入蓝色菜单选“疑难解答”-“高级选项”-“启动设置”-“重启”重启后按数字键 7 或 F7选择“禁用驱动程序强制签名”进入系统后重新安装驱动这个设置只对本次开机有效重启后恢复。装完驱动验证没问题了正常重启即可。注意禁用驱动签名强制是临时手段不要长期开着。装完确认能用之后正常重启让签名强制恢复。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 的完整步骤从官网下载 ZIP 版驱动解压到一个路径简单的目录比如D:\ch340drv路径里不要有中文和空格设备管理器里右键问题设备选“更新驱动程序”选“浏览我的电脑以查找驱动程序”选“让我从计算机上的可用驱动程序列表中选取”如果列表里有“USB-SERIAL CH340”直接选它如果没有点“从磁盘安装”浏览到D:\ch340drv选中CH341SER.INF确定系统会列出匹配的型号选 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传入SETRTS或CLRRTS。Linux 下用ioctl的TIOCMSET。这个功能常见于用 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 这一环彻底搞定把时间花在真正要做的事情上。
