3. 硬件准备:USB转串口模块与目标板连接

做嵌入式开发,串口烧录是基本功。但很多新手栽的第一个跟头,往往不是代码写错了,而是硬件没接对。我见过太多人拿着USB转串口模块,对着芯片引脚一脸茫然——这节咱们就把这事彻底说清楚。

3.1 USB转串口模块怎么选?

市面上常见的USB转串口芯片,主要是CH340和CP2102这两家。还有FT232和PL2303,但前两者占了绝大多数。我个人习惯备几个不同型号的模块,因为不同场景下它们表现还真不一样。

芯片型号 驱动兼容性 最高波特率 典型价格 我的评价
CH340 Windows/Linux/Mac 2Mbps 5-10元 性价比之王,国产良心
CP2102 Windows/Linux/Mac 1Mbps 15-25元 稳定可靠,工业级首选
FT232 全平台原生支持 3Mbps 40-80元 贵,但几乎不出问题
PL2303 Windows为主 1Mbps 8-15元 老芯片,新系统驱动麻烦
我的建议:初学者先买CH340模块,便宜够用。等做产品了再考虑CP2102或FT232。别一上来就买最贵的,没必要。

选模块时还要注意一点:看模块引出的是3.3V还是5V电平。CH340模块大多默认5V,但很多模块上有跳线帽或焊盘可以切换。CP2102模块则固定3.3V。这个电平问题,直接关系到你能不能把模块和目标板连起来——后面会细说。

3.2 目标板的串口引脚在哪?

不同芯片的串口引脚位置不一样。我整理了一份常见芯片的对照表,你直接对着找就行。

芯片型号 TX引脚 RX引脚 GND引脚 备注
STM32F103C8T6 PA9 (USART1_TX) PA10 (USART1_RX) 任意GND 蓝色小板最常见
STM32F407VET6 PA9 或 PD5 PA10 或 PD6 任意GND 注意复用功能
ESP32 GPIO1 (U0TXD) GPIO3 (U0RXD) 任意GND 烧录时默认用UART0
ESP8266 GPIO1 (TXD) GPIO3 (RXD) 任意GND 注意GPIO0拉低进烧录模式
重要提醒:串口连接必须交叉!模块的TX接目标板的RX,模块的RX接目标板的TX。直连的话,两边都在发数据,谁也收不到。我曾经带过一个学生,焊了三块板子都没反应,最后发现他把TX-TX、RX-RX连了——嗯,这种事真不少见。

3.3 电源与地线——最容易忽略的坑

很多人觉得电源和地线没什么好说的,正接正、负接负呗。但实际项目中,地线处理不好,烧录失败率能到50%以上。

先说说基本接法:

  1. 共地是必须的——USB转串口模块的GND,必须和目标板的GND连在一起。不共地,信号电平就没有参考点,数据全是乱码。
  2. 供电要分清——目标板如果自己带电源(比如电池或稳压模块),就不要用USB转串口模块的3.3V/5V去供电。两个电源并联,轻则烧模块,重则烧板子。
  3. 如果目标板没电源——比如你焊的最小系统板,那可以用模块上的VCC引脚供电。但要注意电流:CH340模块的3.3V输出一般只有50mA,带不动STM32全速运行。
我的经验:做STM32烧录时,我习惯单独用一块3.3V稳压板给目标板供电,USB转串口模块只接TX、RX、GND三根线。这样电源干净,烧录成功率极高。ESP32也一样,它启动瞬间电流能到200mA以上,靠模块供电很容易掉电压。

3.4 完整连接示意图

下面这张图,把USB转串口模块和STM32/ESP32的完整连接关系画清楚了。你照着接,基本不会错。

USB转串口模块与目标板连接图 USB转串口模块与目标板连接图 USB转串口模块 (CH340 / CP2102) TX RX GND VCC 目标板 (STM32 / ESP32) RX TX GND 交叉连接 共地(必须) 关键连接规则 ① TX ↔ RX 交叉连接 ② GND ↔ GND 必须共地 电平匹配注意事项 CH340默认5V → 接3.3V目标板需加电平转换或确认模块支持3.3V CP2102固定3.3V → 可直接接3.3V目标板,接5V目标板需注意

3.5 电平匹配——烧录成败的关键

这个问题我必须单独拿出来说。很多人的板子烧录失败,不是线接错了,而是电平不匹配。

STM32和ESP32都是3.3V逻辑电平。而CH340模块默认工作在5V。如果你直接把5V的TX信号灌进3.3V的STM32引脚——嗯,运气好能工作,运气不好直接烧引脚。

避坑指南:我曾经用CH340模块烧录一块STM32F103,连续烧了三片都失败。后来用示波器一看,CH340的TX输出高电平是4.8V,而STM32的RX引脚耐压只有3.6V。加了个1kΩ电阻分压后,一次成功。所以——不确定电平时,先串一个1kΩ电阻再连RX引脚,这是最保险的做法。

电平匹配的几种方案:

  • 方案一:用3.3V版本的CH340模块——有些商家卖的是CH340G芯片,但模块上做了3.3V LDO稳压,输出就是3.3V电平。买的时候问清楚。
  • 方案二:电阻分压——模块TX串1kΩ电阻后接目标板RX。简单有效,但波特率高了可能信号变形。
  • 方案三:电平转换模块——用TXS0108或类似芯片做双向电平转换。做产品时推荐这个方案。
  • 方案四:直接买CP2102模块——它固定3.3V输出,接3.3V目标板完全没问题。

3.6 实际接线步骤

说了这么多理论,咱们来走一遍实际接线流程。你跟着做就行:

  1. 断电操作——USB转串口模块不要插电脑,目标板也不要上电。
  2. 接GND——模块GND接目标板GND。这是第一根线,也是最重要的一根。
  3. 接TX→RX——模块TX接目标板RX。
  4. 接RX→TX——模块RX接目标板TX。
  5. 确认供电——如果目标板需要模块供电,接VCC;否则不接。
  6. 检查一遍——用万用表测一下有没有短路,特别是VCC和GND之间。
  7. 上电测试——先插USB转串口模块,再给目标板上电。打开串口助手,看能不能收到数据。
一个小技巧:第一次接线成功后,用热缩管或者标签纸把线序标好。下次再用就不用重新查引脚了。我工作台上每个模块都贴了标签,省了很多时间。

3.7 常见问题排查

如果你接好线后烧录失败,别慌。按这个顺序排查:

现象 最可能的原因 解决办法
串口助手收不到数据 TX/RX接反了 交换TX和RX
收到乱码 波特率不匹配或电平不对 检查波特率设置,检查电平匹配
模块发烫 VCC和GND短路 立即断电,检查接线
烧录到一半卡住 电源供电不足 换独立电源给目标板供电
电脑识别不到模块 驱动没装好 重新安装CH340或CP2102驱动