
很多剛接觸嵌入式開發的朋友拿到第一塊開發板之后最常卡住的地方往往不是代碼而是串口驅動。開發板插上電腦沒反應設備管理器里一個黃色感嘆號燒錄軟件到處找不到串口折騰半天也不知道是哪一步出了問題。這篇文章我就以CH340 串口驅動安裝為主線把嵌入式入門前期最容易被忽視的“驅動環節”完整梳理一遍。文章會從 CH340 是什么、為什么需要安裝驅動到 Windows / macOS / Linux 下的安裝演示再到常見報錯排查和工程建議盡量做到跟著操作就能順利識別串口。不管你是剛開始學 51 單片機、STM32、ESP32還是準備參加藍橋杯嵌入式類比賽這篇文章都能幫你省下不少折騰時間。1. 為什么要安裝 CH340 串口驅動1.1 CH340 是什么CH340 是南京沁恒推出的一款 USB 轉串口芯片全稱通常叫“USB 轉 UART 橋接芯片”。它的作用一句話就能說清楚讓電腦的 USB 接口變成單片機開發板的串口接口。現在絕大多數筆記本電腦已經沒有原生串口DB9 接口但單片機開發板、GPS 模塊、4G 模塊、調試板等設備仍然大量使用 UART通用異步收發器串口通信。這時候就需要一顆類似 CH340 的芯片在電腦 USB 和單片機 UART 之間做橋接。可以這樣理解USB 和串口是兩種不同“語言”的通信接口CH340 就是一個翻譯官。電腦把數據通過 USB 發給 CH340CH340 翻譯成 UART 電平信號交給單片機單片機發回來的數據再由 CH340 翻譯成 USB 信號交給電腦軟件。CH340 在嵌入式入門開發板中非常常見。很多 51 單片機開發板、STM32 核心板、ESP32 開發板、Arduino 兼容板都直接板載了 CH340 芯片。此外還有大量獨立的“USB 轉 TTL 模塊”也會使用 CH340。1.2 沒有驅動會怎樣如果電腦沒有安裝 CH340 驅動會出現下面這些典型的“新手三連”現象USB 線插上開發板后電腦提示“無法識別的 USB 設備”設備管理器里出現一個帶黃色感嘆號的“未知設備”打開燒錄軟件或串口助手找不到任何 COM 口。原因很簡單操作系統不認識這顆芯片。CH340 芯片內部有固定的 USB Vendor ID供應商 ID和 Product ID產品 ID常見的是VID_1A86和PID_7523。系統看到這兩個 ID 后需要對應的驅動程序來解析設備功能然后把芯片模擬成一個標準串口COM 口。沒有驅動操作系統就不知道該拿這個設備怎么辦。安裝好 CH340 驅動后設備管理器里會多出一個串口例如USB-SERIAL CH340 (COM3)這個 COM 口就是單片機開發板與電腦通信的通道。1.3 什么時候會用到 CH340CH340 串口驅動不是只在一個場景下用到下面這些情況幾乎都會碰到開發板燒錄程序例如 STC 系列 51 單片機通過串口下載程序串口調試查看單片機打印的日志、調試信息上位機通信Qt、C#、Python 編寫的上位機軟件和單片機交互物聯網模塊調試ESP8266、ESP32、4G 模塊的 AT 指令調試競賽開發板使用藍橋杯單片機開發板、各省嵌入式競賽板很多都采用 CH340。所以 CH340 驅動安裝可以看作是嵌入式入門的第一塊敲門磚。它在不同電腦上表現還不完全一樣有時候插上就能免驅識別有時候需要手動安裝有時候還要處理各種沖突因此非常值得花時間徹底搞明白。2. 安裝前的環境準備2.1 確認電腦上的 USB 轉串口芯片型號不同開發板使用的 USB 轉串口芯片可能不同常見的有幾種芯片型號常見應用特點CH340大量國產開發板、USB 轉 TTL 模塊價格低入門板最常見CP2102部分 STM32、ESP32 開發板免驅性好Silicon Labs 出品FT232高端調試板、工業模塊穩定性好價格偏高CH9102新型國產開發板CH340 的升級型號安裝驅動之前最好先看一眼開發板上 USB 口附近芯片的絲印確認是不是 CH340。如果芯片上印著CH340G、CH340C、CH340N、CH340T等字樣那么本文介紹的驅動就適用。如果芯片是其他型號需要去對應廠商官網下載驅動不要硬裝 CH340 驅動。還有一種確認方法USB 線插上開發板后在 Windows 設備管理器中右鍵未知設備選擇“屬性→詳細信息→硬件 ID”如果看到VID_1A86基本可以確定是 CH340 系列芯片。2.2 查看操作系統類型CH340 驅動支持 Windows、macOS、Linux、Android 等系統但不同系統的安裝包不同。Windows 下安裝最簡單macOS 和 Linux 需要額外注意系統版本。在 Windows 下可以按Win R打開運行窗口輸入winver查看系統版本輸入msinfo32查看系統位數。在“關于本機”里也能直接看到是 32 位還是 64 位系統。注意一個問題雖然現在新版本的 CH340 驅動安裝包通常同時包含 32 位和 64 位驅動但下載時最好還是先確認系統架構避免在個別老系統上安裝失敗。如果是 Windows 10 或 Windows 11 用戶系統基本是 64 位正常下載官網最新版即可。2.3 準備一塊開發板和一條數據線驅動安裝驗證需要真實設備所以建議提前準備一塊帶 CH340 的開發板或一個獨立的 USB 轉 TTL 模塊一條能傳輸數據的 USB 線一臺可以聯網的電腦用于下載驅動。特別要強調數據線的問題。現在很多 Micro USB 線、Type-C 線只能充電不能傳數據插上開發板后電腦完全沒反應。遇到這種情況很多人以為是驅動壞了其實換根線就解決了。建議多備幾根不同品牌的數據線來交叉驗證。3. Windows 下 CH340 驅動的安裝演示3.1 下載官方驅動安裝驅動最穩妥的方式是去芯片廠商官網下載而不是從各種“驅動精靈”“驅動大師”下載站獲取。第三方工具雖然方便但有時會捆綁其他軟件有時還會安裝到不匹配的驅動版本反而增加排查難度。CH340 官方驅動下載步驟如下打開南京沁恒官網網址為www.wch.cn在首頁搜索框輸入“CH340”進入 CH340 產品頁面找到“相關下載”或“下載中心”下載名稱為CH341SER的驅動壓縮包解壓壓縮包里面會有SETUP.exe安裝程序以及多個系統對應的驅動文件夾。這里解釋一下為什么 CH340 驅動壓縮包叫CH341SER。沁恒的 CH341 芯片和 CH340 在串口驅動上是共用的所以 CH340 的驅動文件經常以 CH341 命名這是正常現象直接安裝即可。3.2 方式一讓 Windows 自動安裝驅動在 Windows 10 和 Windows 11 系統中很多情況下 CH340 驅動已經內置在系統驅動庫里插上開發板就會自動安裝。操作步驟將開發板通過 USB 線連接到電腦等待幾秒鐘觀察任務欄右下角是否彈出“正在安裝設備驅動程序”提示打開設備管理器展開“端口COM 和 LPT”如果出現USB-SERIAL CH340 (COM3)之類的條目且沒有黃色感嘆號說明驅動已經自動安裝成功。這種情況通常發生在 Windows 系統比較新、聯網狀態良好時。如果自動安裝失敗或者設備管理器里仍然是未知設備就需要手動安裝驅動。3.3 方式二手動運行 SETUP.exe 安裝手動安裝是最保險的方式也推薦新手采用這種方式因為能看到明確的安裝結果。操作步驟找到解壓后的SETUP.exe右鍵選擇“以管理員身份運行”安裝界面會出現“安裝”和“卸載”兩個按鈕點擊“安裝”等待界面提示驅動安裝成功插入開發板或者重新拔插一次 USB 線打開設備管理器確認“端口COM 和 LPT”下是否出現USB-SERIAL CH340。這里有個細節如果插上開發板后再運行SETUP.exe有時會看到提示“驅動預安裝成功”意思是驅動已經加入系統驅動庫需要拔插設備或者重啟一次才能完成設備枚舉。如果遇到這種情況不用慌重新插拔 USB 線就能讓新驅動生效。SETUP.exe安裝方式實際上會同時安裝系統驅動和 INF 配置信息。安裝完成后CH340 設備會在系統里被識別成一個標準 COM 串口燒錄軟件和串口助手都能直接按 COM 口訪問。3.4 如何驗證驅動安裝成功驅動裝完不等于萬事大吉最好做一次驗證。方法一查看設備管理器打開設備管理器的方法很多右鍵“開始菜單”選擇“設備管理器”或者按Win R輸入devmgmt.msc回車都可以。重點看“端口COM 和 LPT”分類下是否出現USB-SERIAL CH340 (COMx)并且圖標上不能有黃色感嘆號。方法二查看硬件 ID在 CH340 設備上右鍵選擇“屬性→詳細信息”在“屬性”下拉框里選擇“硬件 ID”。如果看到VID_1A86和PID_7523說明設備識別正確。方法三命令行查看串口打開命令提示符cmd執行mode輸出中會列出系統當前存在的串口設備例如狀態 設備名 描述 ------------------------------------------- COM1 Communications Port COM3 USB-SERIAL CH340不同系統版本輸出格式略有不同但只要能看到USB-SERIAL CH340對應的 COM 口就說明驅動已經生效。方法四使用 PowerShell 獲取串口信息如果你更喜歡 PowerShell也可以執行Get-PnpDevice -Class Ports | Format-Table FriendlyName, Status輸出示例FriendlyName Status ------------ ------ USB-SERIAL CH340 (COM3) OK需要注意的是COM 口號不一定是 COM3它會根據電腦當前已占用的串口號動態分配。如果同時插了多個 USB 轉串口設備COM 號可能會變化這在后面排查問題時會重點講到。4. 開發板接線與連通性驗證驅動安裝成功以后只是說明電腦能“看見”這個串口了。能不能和單片機正常通信還需要接線、軟件和程序的配合。這一節提供一個基于 USB 轉 TTL 模塊的連通性驗證方法。4.1 認識 USB 轉 TTL 串口模塊如果你手里的開發板沒有板載 CH340而是使用獨立的 USB 轉 TTL 模塊需要先認識模塊上的引腳。常見引腳有VCC電源輸出或輸入GND地線必須與目標板共地TXD發送端RXD接收端DTR、RTS用于自動下載復位的控制線初學者可以先不關注。接線規則有一條核心原則交叉連接。模塊的TXD接目標板的RXD模塊的RXD接目標板的TXDGND必須連在一起。很多新手第一次接線時把 TXD 接 TXD、RXD 接 RXD結果數據完全不通。4.2 接線前的安全提醒接線前一定要先斷電操作不要帶電插拔信號線。模塊的VCC引腳要特別注意如果目標板是 3.3V 單片機而模塊輸出的是 5V 電源直接給VCC供電可能會燒壞板子。正確做法是先根據目標板手冊確認其工作電壓如果模塊支持跳線切換 3.3V / 5V則調到對應檔位如果不確定供電關系可以先讓目標板自己通過其他方式供電只連接GND、TXD、RXD三根線。還要特別強調一點TXD 和 RXD 千萬不要短接到 VCC。做回環測試時只短接 TXD 和 RXD不要接電源否則可能燒壞芯片。4.3 串口助手測試當開發板或模塊連接到電腦并識別出 COM 口后可以打開串口調試助手來測試。常見的串口助手有SSCOMXCOMUartAssistArduino IDE 自帶的串口監視器VS Code 的 Serial Monitor 插件打開串口助手后選擇對應 COM 口波特率設置為開發板程序使用的波特率。如果開發板出廠自帶串口打印程序打開串口往往能看到類似Hello World、溫度數據等輸出。如果你想用代碼方式快速驗證可以使用 Python 的 pyserial在命令行中安裝pip install pyserial然后運行import serial try: ser serial.Serial(COM3, 115200, timeout1) print(串口打開成功, ser.name) # 發送一串測試數據 ser.write(bhello embedded\r\n) # 讀取返回數據需要單片機有回顯程序 data ser.readline() print(收到數據, data) ser.close() except Exception as e: print(串口打開失敗, e)注意如果你的 COM 口號不是 COM3需要將代碼中的COM3改成實際端口號。這段代碼只是驗證串口能否正常打開和收發需要單片機程序配合。如果單片機沒有回顯程序readline()可能會阻塞或超時屬于正常現象。4.4 串口參數與常見誤區串口通信有幾項關鍵參數必須一致否則即使是同一根線、同一個 COM 口也會收到亂碼波特率常見的有 9600、115200、57600數據位通常為 8停止位通常為 1校驗位通常為無校驗。這個組合經常簡寫為8N1即 8 個數據位、無校驗、1 個停止位。開發板教程里給出的串口參數必須和上位機設置保持一致。最典型的誤區是單片機程序用 9600 波特率打印串口助手卻設置成 115200收到的自然是一堆亂碼。5. macOS 與 Linux 下的安裝補充5.1 macOS 下如何安裝 CH340 驅動macOS 用戶在安裝 CH340 驅動時路徑略有不同。首先同樣從沁恒官網下載 macOS 版驅動。下載得到的安裝包需要按照系統提示安裝到“應用程序”或“系統擴展”中。由于 macOS 對系統擴展和內核擴展有嚴格的安全校驗安裝過程中可能會出現“系統擴展已被阻止”的提示。這時需要到“系統設置→隱私與安全性”中允許加載對應的系統擴展部分系統版本提示可能需要重啟電腦。安裝完成后插上開發板在“關于本機→系統報告→USB”中可以看到對應設備。串口設備名稱一般是/dev/tty.wchusbserial1410后面那串數字可能不同。在終端里執行下面的命令可以看到類似輸出ls /dev/tty.*macOS 各版本安全策略差異較大具體以你正在使用的系統版本提示為準但總體的思路是下載官方驅動安裝然后在隱私與安全性里放行系統擴展。5.2 Linux 下 CH340 串口驅動說明Linux 系統下大多數發行版內核已經包含了 CH340 對應的ch341驅動插上 USB 轉 TTL 模塊或開發板后會自動識別一般不需要額外安裝驅動。插上設備后執行lsusb如果看到含有1a86:7523的設備說明 USB 層面已經識別到 CH340Bus 001 Device 004: ID 1a86:7523 QinHeng Electronics CH340 serial converter再執行dmesg | tail如果驅動加載成功通常能看到類似ch341-uart ttyUSB0: ch341-uart converter now attached to ttyUSB0那么串口設備名就是/dev/ttyUSB0。如果普通用戶沒有權限訪問串口可以把當前用戶加入到dialout或uucp組sudo usermod -aG dialout $USER執行后需要重新登錄一次生效。注意不同發行版的用戶組名可能不同dialout在 Ubuntu / Debian 系列中很常見。如果插上設備后lsusb能看到 CH340但dmesg沒有ttyUSB0輸出可能是內核缺少驅動模塊這時需要查閱當前發行版是否包含ch341內核模塊或者手動編譯安裝廠家提供的 Linux 驅動。6. 常見問題與排查思路6.1 設備管理器顯示黃色感嘆號這是最常見的現象。可能原因包括驅動安裝異常、驅動版本過舊、USB 接口供電不足、數據線質量差等。排查步驟建議按下面順序執行換個 USB 口優先插在電腦主機后置 USB 口避免前面板或 HUB 供電不足換一根確認能傳數據的數據線在設備管理器中右鍵該設備選擇“卸載設備”如果勾選了“刪除此設備的驅動程序軟件”可以連舊驅動一起清掉重新運行官方SETUP.exe先點擊“卸載”再點擊“安裝”重新插拔 USB 線。如果仍然不行可以在設備管理器中右鍵設備選擇“更新驅動程序→瀏覽我的電腦以查找驅動程序→讓我從計算機上的可用驅動程序列表中選取”然后手動指定 CH340 驅動。6.2 Windows 11 安裝失敗或提示驅動簽名問題Windows 11 對驅動簽名校驗比老版本系統更嚴格。如果你下載到的是舊版驅動安裝時可能提示“哈希值不在指定的目錄中”或“無法驗證發布者”導致安裝中斷。解決方法去官網重新下載最新版 CH340 驅動新版驅動通常已經適配 Windows 11如果仍然不行可以暫時禁用驅動程序強制簽名再安裝。進入禁用驅動簽名方式的方法是按Win I打開設置進入“系統→恢復”點擊“高級啟動”下的“立即重新啟動”。也可以在執行任何操作前先保存好工作然后在命令提示符中運行shutdown /r /o /t 0電腦重啟后會進入藍色高級啟動界面依次選擇“疑難解答→高級選項→啟動設置→重啟”重啟后按數字鍵或 F7 選擇“禁用驅動程序強制簽名”。這里必須重點提醒禁用驅動簽名是為了解決驅動安裝問題的臨時手段安裝完成后建議重啟電腦恢復正常啟動模式不要長期關閉系統的驅動簽名校驗。6.3 識別到了 CH340 但串口助手打不開如果設備管理器里已經能看到USB-SERIAL CH340 (COM3)但打開串口助手時提示“端口被占用”或“打開失敗”通常原因不是驅動串口被其他軟件占用例如某個上位機、下載工具還沒退出虛擬機軟件占用了 USB 串口設備串口助手本身沒有管理員權限COM 口號被系統分配成一個奇怪的編號和某些虛擬串口沖突。排查時可以先關閉所有可能占用串口的軟件拔插一次 USB 線然后重新打開串口助手。如果還是不行可以在設備管理器中把 CH340 的 COM 號換成一個空閑的號碼例如 COM5、COM6。換 COM 號的操作設備管理器→端口COM 和 LPT→右鍵 CH340→屬性→端口設置→高級→COM 端口號選擇一個系統提示“使用中”的端口確定后重新打開串口助手。6.4 下載程序失敗不一定是驅動問題很多新手在 Keil、STC-ISP、FlyMcu 等軟件中下載程序失敗時第一反應是“驅動沒裝好”。但實際上設備管理器中已經能識別到 CH340 串口驅動層面通常沒問題。常見的下載失敗原因還包括沒有選擇正確的 COM 口開發板沒有進入下載模式STC 系列單片機需要“冷啟動”即先點下載再給單片機上電STM32 部分開發板需要將 BOOT0 拉高進入系統存儲器模式才能下載串口線接線錯誤TXD 和 RXD 方向接反。遇到下載失敗時先回到基礎排查確認串口選擇正確、確認下載模式、確認芯片型號和波特率設置。驅動表現正常但下載失敗大概率問題出在“流程”而不是“驅動”。6.5 常見問題速查表問題現象常見原因解決思路插上開發板完全沒反應數據線只能充電、USB 口損壞換線、換 USB 口設備管理器顯示未知設備驅動未安裝或安裝異常重新安裝官方驅動設備管理器有黃色感嘆號驅動版本沖突或安裝不完整卸載后重新安裝設備管理器顯示 COM 口不固定系統自動分配串口號手動固定 COM 號串口助手提示端口被占用其他軟件占用串口關閉占用程序或換 COM 號打開串口成功后收到亂碼波特率不一致、接線虛接統一波特率、檢查共地能識別 CH340 但下載失敗下載模式或復位時序問題按開發板手冊重新下載流程Windows 11 安裝報錯驅動版本過舊、簽名校驗失敗更新驅動或臨時禁用簽名強制7. 最佳實踐與工程建議7.1 驅動與軟件使用規范嵌入式開發環境很容易因為驅動管理混亂而變得不可控建議從入門第一天就養成好習慣優先從芯片原廠官網下載驅動不依賴第三方驅動工具把常用的驅動安裝包、燒錄工具固定放在一個工具目錄下并備份到網盤或團隊共享盤重裝系統后先安裝 CH340 之類的基礎調試驅動再開始開發工作盡量避免同時安裝多個版本的 CH340 驅動防止版本沖突。還有一個容易被忽略的點在團隊協作或比賽環境中不同電腦上 CH340 的 COM 口號可能不同編寫自動化燒錄腳本時不要硬編碼 COM 口最好允許手動指定。7.2 硬件連接安全建議串口調試涉及真實硬件安全規范非常重要接線前先斷電先接 GND 再接信號線信號線連接時注意 TXD / RXD 交叉不確定模塊輸出電壓時不要貿然用 VCC 給目標板供電使用帶過流保護的 USB HUB 或開發板自帶的穩壓電路做回環測試時只短接 TXD 和 RXD不短接 VCC。本文略去對專業電路設計的展開但從嵌入式入門的實際操作來看接線安全比“能跑起來”更重要。一根線接錯輕則通信失敗重則燒毀芯片一定要謹慎。7.3 串口調試的工程化思維串口是嵌入式系統最重要的調試出口建議在項目中把串口日志當成正式代碼來管理統一波特率項目組內默認 115200日志格式統一為“時間戳 級別 內容”發布版本保留必要的錯誤日志輸出方便現場定位串口調試時注意區分printf重定向到哪個串口避免在多個串口共用時打印信息混亂。在以后學習 FreeRTOS、RT-Thread、Linux 驅動時串口日志更是分析系統運行狀態的關鍵工具。現在養成好習慣后面寫復雜項目會少走很多彎路。7.4 初學者如何避免“裝好了卻打不開”把問題分層是嵌入式調試中最重要的一種能力。遇到串口相關問題時按照下面的層次來定位驅動層設備管理器是否識別到 CH340沒有先解決驅動和 USB 連接軟件層串口助手能否打開 COM 口打不開查端口占用和權限接線層模塊和目標板的 TXD / RXD / GND 是否連接正確是否共地參數層波特率、數據位、停止位、校驗位是否與程序一致程序層單片機程序是否真的初始化了串口并輸出數據這五個層面逐漸排查就不會在一個錯誤方向上反復折騰。8. 總結與下一步學習路線8.1 本篇真正要掌握的內容理解 CH340 作為“USB 轉串口橋接芯片”的作用能在 Windows 下熟練安裝和驗證 CH340 驅動能獨立處理驅動安裝失敗、設備管理器感嘆號、串口占用等常見問題知道 macOS 和 Linux 下 CH340 驅動的基本處理方式明白驅動安裝之后串口鏈路仍然需要從接線、參數、程序等多個維度配合。驅動安裝只是嵌入式入門的“第 0 步”但它直接決定了后續開發和調試能不能順利展開。這一步走通之后才算真正準備好進入單片機世界。8.2 后續嵌入式入門學習路線建議建議下一步按以下順序繼續學習點亮 LED理解 GPIO通用輸入輸出的基本操作按鍵輸入學習讀引腳電平、消抖處理串口通信用串口打印調試信息進一步理解 CH340 在開發中的作用中斷與定時器掌握單片機事件驅動的基本機制常用外設LCD1602、PWM、ADC、I2C、SPI綜合小項目溫濕度監控、智能小車、電子時鐘等。如果你用的是 51 單片機可以從 Keil C51 和 STC-ISP 開始如果是 STM32可以從 CubeMX 加 HAL 庫入手如果是 ESP32可以直接走 Arduino 或 ESP-IDF 路線。只要第一步串口驅動走通了后面很多流程都會順暢很多。如果這篇文章對你有幫助可以點贊收藏備用也歡迎在評論區分享你在 CH340 驅動安裝過程中遇到的問題很多經典問題其實都是新人反復踩過的坑。