Skip to content

附录 - 硬件选项

本附录介绍 STM32F103C8T6(Blue Pill)开发板及相关硬件的详细信息,帮助初学者选择合适的开发工具和配件。


1. 核心硬件 - Blue Pill 开发板

1.1 产品简介

Blue Pill 是一款基于 STM32F103C8T6 微控制器的迷你开发板,因其蓝色 PCB 和高性价比而得名。该板子最初由 Leaf Labs 设计,现已被众多厂商复制生产,是嵌入式学习入门的热门选择。

1.2 核心规格参数

参数规格
微控制器STM32F103C8T6
架构ARM Cortex-M3
工作电压3.3V(板载 LDO 支持 5V 输入)
主频72MHz(最大)
Flash64KB(0x08000000 - 0x08010000)
SRAM20KB(0x20000000 - 0x20005000)
GPIO37个(部分复用)
ADC10位,10通道
定时器3个通用定时器 + 1个高级定时器
通信接口USART、I2C、SPI、CAN
USBUSB 2.0 全速(设备模式)
尺寸约 53mm × 23mm

1.3 引脚分布

Blue Pill 的引脚排列遵循标准 STM32 开发板布局:

                 USB
                 ----
    VBAT  [1]  [T]  [28] PA14 (SWCLK)
    PC13   [2]     [27] PA13 (SWDIO)
    PC14   [3]     [26] PA12 (USB_D+)
    PC15   [4]     [25] PA11 (USB_D-)
    PD0    [5]     [24] PA10
    PD1    [6]     [23] PA9
    NRST   [7]     [22] PA8
    PC0    [8]     [21] PB11 (I2C SCL)
    PC1    [9]     [20] PB10 (I2C SDA)
    PC2   [10]     [19] PB2  (BOOT1)
    PC3   [11]     [18] PB1
    PC4   [12]     [17] PB0
    PC5   [13]     [16] PA7  (SPI MOSI)
    GND   [14]     [15] PA6  (SPI MISO)

关键引脚说明:

引脚功能说明
PA9USART1_TX串口发送
PA10USART1_RX串口接收
PA6SPI1_MISOSPI 数据输入
PA7SPI1_MOSISPI 数据输出
PA5SPI1_SCKSPI 时钟
PB6I2C1_SCLI2C 时钟
PB7I2C1_SDAI2C 数据
PA11USB_D-USB 数据负
PA12USB_D+USB 数据正
PC13板载 LED低电平点亮
NRST复位低电平复位

1.4 板载 LED 和按键

板载 LED:

  • 位置:PC13 引脚
  • 特性:低电平点亮(输出高电平时熄灭)
  • 用途:状态指示、 blinks 测试程序

板载复位按键:

  • 位置:NRST 引脚附近
  • 功能:手动复位微控制器

BOOT 选择跳针:

  • BOOT0 引脚控制启动模式
  • BOOT0 = 0:从 Flash 启动(正常使用)
  • BOOT0 = 1:从系统存储器启动(用于串口下载)

1.5 电源选项

Blue Pill 提供多种电源输入方式:

电源输入电压范围说明
USB 接口5V通过板载 LDO 降压至 3.3V
VIN 引脚6V-12V通过板载 LDO 降压
5V 引脚5V直接供给板载 LDO 输入
3.3V 引脚3.3V绕过 LDO,直接供给 MCU

注意事项:

  • 板载 LDO 型号常见为 AMS1117-3.3,最大输出电流约 800mA
  • 通过 USB 供电时,电流受限于 USB 协议(500mA)
  • 负载电流较大时,建议使用外部 3.3V 电源直接供电

1.6 已知问题和注意事项

  1. USB 数据线问题

    • 部分 Blue Pill 板子 USB D+ / D- 串有 1.5KΩ 上拉电阻在 3.3V 上
    • 某些 USB 主机可能无法识别,建议更换数据线或移除上拉电阻
  2. BOOT0 引脚默认下拉

    • 默认从 Flash 启动,但如果需要串口下载,需将 BOOT0 跳针设置为 1
  3. PC13 作为 GPIO 限制

    • PC13 引脚输出驱动能力较弱,无法直接点亮高亮度 LED
    • 该引脚还与 RTC 相关,使用时需注意
  4. 原装 Leaf Labs 板与国产版本差异

    • 国产版本可能使用不同品牌的 STM32 芯片(需注意真伪)
    • 某些版本 PCB 布线不同,可能影响 USB 稳定性

ST-Link V2 是 ST 官方推出的调试器,支持 STM32 芯片的 SWD(Serial Wire Debug)接口。

官方版本特点:

参数规格
接口USB 2.0
调试接口SWD(2线制:SWCLK、SWDIO)
目标电压3.3V(部分版本支持 1.8V-5V)
供电能力可为目标板提供 3.3V/5V(有限电流)
兼容软件ST-Link Utility、OpenOCD、Keil、STM32CubeIDE

引脚定义(ST-Link V2):

ST-Link 引脚功能连接至 Blue Pill
1 (VTref)目标参考电压3.3V
4 (GND)接地GND
7 (SWDIO)调试数据PA13 (SWDIO)
9 (SWCLK)调试时钟PA14 (SWCLK)
15 (NRST)复位(可选)NRST

接线建议:

ST-Link V2          Blue Pill
---------          --------
 VTref (1)  ---->   3.3V
 GND    (4)  ---->   GND
 SWDIO  (7)  ---->   PA13
 SWCLK  (9)  ---->   PA14
 NRST  (15)  ---->   NRST  (可选)

2.2 国产兼容版本

市面上存在大量 ST-Link V2 兼容产品,价格远低于官方版本。

优点:

  • 价格低廉(约为官方版本的 1/10)
  • 功能基本兼容

缺点和注意事项:

问题说明解决方案
固件更新问题部分兼容版使用解密固件,无法更新避免更新固件
芯片来源不明内部芯片可能非原装购买前查看评价
电压支持某些版本仅支持 3.3V确认目标板电压
驱动兼容性可能需要安装特定驱动使用 Zadig 替换驱动

选购建议:

  • 选择评论数量多、评价正面的商家
  • 确认支持 SWD 接口
  • 检查是否附带完整接线

J-Link 是 SEGGER 公司推出的调试器,性能优于 ST-Link,但价格较高。

适用场景:

  • 专业开发环境
  • 需要高速调试的项目
  • 多芯片调试支持

软件支持:

  • J-Link 支持所有主流 IDE
  • 兼容 OpenOCD(通过 J-Link 驱动)

与 Blue Pill 的连接: 与 ST-Link V2 相同,使用 SWD 接口连接。

DAP-Link 是 ARM 官方推出的开源调试器方案,基于 CMSIS-DAP 协议。

优点:

  • 开源方案,可自行制作
  • 原生支持 HID 协议,无需安装特殊驱动
  • 跨平台支持良好

常见产品形式:

  • 官方 CMSIS-DAP 调试器:如 Mini-DAPLink
  • 第三方兼容产品:如基于 Raspberry Pi Pico 的 DAP-Link 固件

在 Blue Pill 上的使用: DAP-Link 使用与 ST-Link 相同的 SWD 接口,连接方式完全一致。

2.5 调试器对比总结

调试器价格稳定性易用性推荐程度
ST-Link 官方★★★★☆
ST-Link 兼容版★★★☆☆
J-Link★★★★☆
DAP-Link★★★★★

3. 配件和线缆

3.1 USB-TTL 串口模块(可选)

串口模块用于在没有调试器的情况下,通过串口与 Blue Pill 通信。

推荐规格:

参数建议规格
芯片CH340、CP2102、FT232RL
电压3.3V 或支持 3.3V/5V 切换
接口Micro USB 或 USB Type-A

接线方式:

USB-TTL 模块      Blue Pill
-----------      --------
    RX   ---->   PA9 (USART1_TX)
    TX   ---->   PA10 (USART1_RX)
   GND   ---->   GND
  3.3V   ---->   3.3V (仅在需要供电时连接)

注意事项:

  • 确认模块电压与 Blue Pill 匹配(3.3V)
  • 某些模块逻辑电平为 5V,可能需要电平转换
  • 接线时 RX 接 TX,TX 接 RX(交叉连接)

3.2 杜邦线和面包板

杜邦线建议:

类型数量用途
母对公20根连接调试器、传感器
母对母20根模块间连接
公对公10根特殊连接需求
彩色区分推荐便于区分信号

面包板建议:

  • 830孔标准面包板(初学者推荐)
  • 或 400孔小型面包板(节省空间)

3.3 USB 数据线类型

类型说明注意事项
Micro USB常见于 Blue Pill确保数据线支持数据传输
USB Type-A to Micro标准连接线某些充电线仅供电无法通信
USB Type-C部分新型 Blue Pill确认板载接口类型

辨别数据线方法:

  • 观察线材粗细(数据线通常更粗)
  • 尝试连接电脑,查看是否识别为设备
  • 避免使用仅标注"充电"的线缆

4. 替代开发板

4.1 STM32 Nucleo 系列

Nucleo 是 ST 官方的开发生态板,具有标准化引脚分布(Arduino 兼容)和内置调试器。

代表型号:

型号MCUFlashSRAM特点
Nucleo-F103RBSTM32F103RBT6128KB20KB64pin,Arduino 兼容
Nucleo-F401RESTM32F401RET6512KB128KB高性能,72MHz
Nucleo-F411RESTM32F411RET6512KB128KB高主频,100MHz

优点:

  • 内置 ST-Link 调试器
  • Arduino 兼容引脚座
  • 原厂品质保证
  • 完善的文档和技术支持

缺点:

  • 价格高于 Blue Pill
  • 尺寸较大

4.2 STM32 Discovery 系列

Discovery 是 ST 的另一产品线,重点展示特定外设功能。

代表型号:

型号MCU特点
STM32F4DiscoverySTM32F407VG带 MEMS 传感器、音频
STM32F3DiscoverySTM32F303VC运放、高精度 ADC
STM32L476GDISCOSTM32L476RG低功耗、LCD 控制

优点:

  • 板载丰富外设(LED、传感器、音频等)
  • 内置调试器
  • 原厂品质

缺点:

  • 价格较高
  • 部分引脚被板载外设占用

4.3 其他第三方开发板

WeAct Studio STM32F103C8T6:

  • 与 Blue Pill 兼容
  • 改进的 USB 电路设计
  • 更稳定的晶振

RobotDyn STM32F103:

  • 小型化设计
  • 内置 USB-C 接口

通用设计考量:

  • 确认引脚分布兼容性
  • 检查调试接口是否引出
  • 确认供电电路设计

5. 外设扩展

5.1 基础外设

LED 和按键模块:

  • 3mm/5mm 直插 LED(红、绿、蓝)
  • 带电阻的 LED 模块(3.3V 专用)
  • 轻触按键模块

推荐连接:

LED 模块    Blue Pill
-------    --------
  VCC  -->   3.3V
  GND  -->   GND
  SIG  -->   任意 GPIO(如 PA0)

5.2 显示模块

OLED 显示屏:

类型驱动芯片通信接口分辨率
OLEDSSD1306I2C / SPI128×64
OLEDSH1106I2C128×64

连接示例(I2C):

OLED 模块   Blue Pill
--------   --------
  VCC  -->   3.3V
  GND  -->   GND
  SCL  -->   PB6 (I2C1_SCL)
  SDA  -->   PB7 (I2C1_SDA)

LCD 1602/2004:

  • 并行接口或 I2C 转接板
  • 需要电平转换(如使用 5V 版本)

5.3 传感器模块

传感器接口功能
DHT11/DHT22单总线温湿度检测
DS18B20单总线温度检测
HC-SR04GPIO超声波测距
BMP280I2C/SPI气压、温度
MPU6050I2C六轴加速度计、陀螺仪
HC-05/HC-06USART蓝牙通信

5.4 通信模块

WiFi 模块:

  • ESP8266(ESP-01):需要 3.3V 供电和 AT 指令
  • ESP32:更强大,支持双模蓝牙

蓝牙模块:

  • HC-05:主从一体
  • HC-06:从机模式

接线注意:

  • 确认模块电压兼容(3.3V 专用或宽电压)
  • 某些模块需要电平转换(5V 与 3.3V 之间)

5.5 其他常用模块

模块用途
舵机模块 (SG90)角度控制
电机驱动直流电机、步进电机控制
继电器模块大电流设备控制
SD 卡模块数据存储
RTC 时钟 (DS3231)实时时钟

6. 采购建议

6.1 注意事项

  1. 芯片真伪鉴别

    • ST 官方芯片表面印刷清晰,标识规范
    • 国产兼容芯片可能有细微差异(字体、标识位置)
    • 通过 STM32CubeProgrammer 读取芯片唯一 ID 验证
  2. 板子质量检查

    • PCB 边缘光滑无毛刺
    • 焊点均匀饱满,无虚焊
    • 元器件位置端正,无歪斜
  3. USB 接口检查

    • 接口松动不建议购买
    • 确认 USB 座金属外壳接地良好
  4. 调试器兼容性

    • 确认调试器支持 SWD 接口
    • 部分超低价调试器可能存在功能缺陷

6.2 常见陷阱

陷阱说明避免方法
虚假容量声称更大 Flash/SRAM查看芯片型号
二手芯片使用翻新或拆机芯片检查引脚氧化情况
电压不匹配5V 逻辑模块确认电压规格
缺少关键元件省去上拉电阻等仔细查看板子照片

6.3 质量鉴别建议

  1. 外观检查

    • 芯片表面无划痕、氧化
    • 晶振旁边有空贴片位置(可能是偷工减料)
    • PCB 板材质量(好板子手感光滑)
  2. 通电测试

    • 上电后芯片微热为正常
    • 过热可能存在短路
    • LED 指示灯亮度正常
  3. 功能验证

    • 通过调试器连接测试
    • 运行简单程序验证所有功能
    • 检查 USB 枚举是否正常

6.4 采购清单建议

入门必备:

  • [ ] Blue Pill 开发板 × 1
  • [ ] ST-Link V2 调试器(含下载线)× 1
  • [ ] USB 数据线(数据线,非充电线)× 1
  • [ ] 面包板 × 1
  • [ ] 杜邦线套装

可选配件:

  • [ ] USB-TTL 串口模块
  • [ ] LED 和按键套装
  • [ ] 万用表(调试必备)
  • [ ] 示波器(高级调试)

7. 硬件常见问题

7.1 USB 无法识别

症状: 电脑无法识别 Blue Pill 的 USB 设备

可能原因:

  1. USB 数据线仅供电不支持数据传输
  2. USB D+/D- 上拉电阻配置问题
  3. 板子未上电或电源问题
  4. 电脑 USB 控制器驱动问题

解决方案:

步骤 1:确认数据线
- 更换为已知良好的数据线
- 尝试连接多个 USB 端口

步骤 2:检查供电
- 测量 3.3V 引脚电压是否正常
- 确认 USB 接口接触良好

步骤 3:检查 D+/D- 电路
- 某些 Blue Pill 板子在 D+ 上有 1.5K 上拉电阻
- 尝试移除或添加上拉电阻

步骤 4:电脑端排查
- 在设备管理器中查看是否有未知设备
- 尝试其他电脑进行交叉验证

7.2 芯片真伪鉴别

方法一:读取芯片 ID

bash
# 使用 STM32CubeProgrammer 或 OpenOCD
# 正常芯片会返回唯一的 JTAG ID

方法二:观察外观

正品特征可疑特征
印刷清晰、字体规范字体模糊、标识歪斜
引脚镀锡均匀引脚颜色不均、有腐蚀
表面质感一致表面有明显打磨痕迹

方法三:功能测试

  • 测试所有 GPIO 引脚
  • 验证 ADC 精度
  • 检查 USB 功能
  • 测试通信接口

7.3 电源问题

症状一:芯片发热严重

可能原因:

  • 短路(焊锡桥接)
  • 负载过大
  • 供电电压过高

解决步骤:

markdown
1. 断电检查
   - 目视检查焊点
   - 测量各电源引脚对地电阻

2. 降低负载
   - 移除所有外设
   - 仅保留最小系统

3. 检查供电
   - 测量输入电压
   - 确认 LDO 输出电压

症状二:程序运行不稳定

可能原因:

  • 供电不足
  • 电源噪声过大
  • 退耦电容缺失

解决建议:

  • 增加电源滤波电容(0.1μF + 10μF)
  • 使用独立电源供电大电流外设
  • 检查接地是否良好

7.4 调试连接问题

症状: 调试器无法连接芯片

排查步骤:

markdown
1. 硬件检查
   - 确认 SWDIO、SWCLK 连接正确
   - 检查 GND 共地
   - 确认 VTref 电压匹配

2. 线缆检查
   - 使用短杜邦线(长线可能信号衰减)
   - 避免使用质量差的排线

3. 目标板状态
   - 尝试按住复位键的同时开始连接
   - 检查芯片是否损坏

4. 软件设置
   - 确认选择了正确的芯片型号
   - 检查调试接口设置(SWD/JTAG)

7.5 BOOT 引脚配置问题

启动模式说明:

BOOT0BOOT1启动模式
0X从 Flash 启动(正常模式)
10从系统存储器启动(串口下载)
11从 SRAM 启动(调试用)

常见问题:

  • 串口下载失败:确认 BOOT0 = 1,BOOT1 = 0
  • 无法下载新程序:检查 BOOT0 跳针设置
  • SRAM 启动丢失:确认BOOT1 引脚状态

8. 资源链接

8.1 官方文档

8.2 开发工具

8.3 社区资源


文档版本:1.0
最后更新:2026年3月

Built with VitePress