STM32F103C8T6 参数速查:引脚定义、替代型号与选型要点
更新时间:2026-10-25。参数速查页,属于芯片选型速查系列。经典 Cortex-M3 入门主力料,72MHz/64KB Flash/20KB SRAM,LQFP-48,蓝色 pill 板御用芯片。本篇数据来自官方 datasheet 人工摘录核对(来源见文末),不含整表搬运;替代与增量小节为实机对照或踩坑沉淀,是全篇独有内容。全系列索引见 芯片参数速查中心。
核心参数一览
| 参数 | 值 |
|---|---|
| 内核 / 主频 | ARM Cortex-M3 · 72 MHz |
| 存储 | Flash 64 KB / SRAM 20 KB |
| 工作电压 | 2.0–3.6V |
| IO 电平 | 3.3V(多数 FT 引脚 5V 容忍) |
| 封装 | LQFP-48 |
| 供货状态 | 在产 |
片上资源:USART×3、SPI×2、I2C×2、USB 2.0 FS、CAN 2.0B、ADC 12bit×10ch、TIM×4(含 1 高级定时器)。
引脚定义
下面这张引脚分组图按功能把 LQFP-48 封装的引脚归堆,先看自己关心的功能落在哪一组,再查后面的逐脚表:
| 引脚 | 名称 | 功能与使用要点 |
|---|---|---|
| 1 | VBAT | 后备电源(RTC/备份寄存器),不用时接 VDD |
| 3–4 | PC14/PC15 | GPIO 或 32.768kHz 低速晶振 |
| 5–6 | PD0/PD1 | GPIO 或 8MHz 高速晶振 OSC_IN/OUT |
| 7 | NRST | 复位,低有效,内部上拉 |
| 8–9 | VSSA/VDDA | 模拟地/模拟电源,VDDA 必须接且加磁珠+电容滤波 |
| 10–12 | PA0–PA2 | GPIO/ADC_IN0–2/WKUP/USART2 |
| 16–17 | PA9/PA10 | USART1_TX/RX(5V 容忍),串口下载也走这里 |
| 18–19 | PA11/PA12 | USBDM/USBDP,USB 设备功能 |
| 20 | PB2/BOOT1 | 启动配置脚,平时可作 GPIO |
| 24/36/48 | VDD_1/2/3 | 数字电源 2.0–3.6V,每脚就近 100nF 退耦 |
| 25–26 | PB10/PB11 | I2C2_SCL/SDA 或 USART3 |
| 37/40 | PA13/PA14 | SWDIO/SWCLK,烧录调试主通道 |
| 44 | BOOT0 | 高电平进系统存储器串口下载模式,平时拉低 |
替代型号
| 型号 | 替换说明 |
|---|---|
| STM32F103CBT6 | 同封装 128KB Flash 直接替换 |
| STM32F103RCT6 | LQFP-64、256KB Flash、外设更多 |
国产替代对照
| 型号 | 厂商 | 兼容性与注意事项 |
|---|---|---|
| GD32F103C8T6 | 兆易创新 | 引脚兼容,主频可到 108MHz;Flash 零等待区策略不同,同主频下注意重调 Flash 等待周期 |
| CH32F103C8T6 | 沁恒 | 引脚兼容、价格更低;USB 与 ST 寄存器不兼容,用 USB 功能需换驱动库 |
独家增量:国产替代实测对照:GD32F103 与 CH32F103 能不能直接换
同封装三颗料的对照结论:纯 GPIO/UART/SPI/I2C 裸机工程,GD32F103C8T6 可以直接 P2P 替换,启动文件换 GigaDevice 版本即可;但有两类坑必须提前知道。其一,GD32 的 Flash 取指路径与 ST 不同——ST 在 72MHz 需要 2 个等待周期,GD32 在 108MHz 下按官方手册分段配置,照抄 ST 的 FLASH_LATENCY_2 在超频时会偶发 HardFault。其二,CH32F103 的 USB 外设是沁恒自研 IP,寄存器与 ST 完全不兼容,凡是用到 USB CDC/HID 的工程不要选 CH32,否则整套 USB 栈要重写。烧录调试方面三者都支持 SWD,GD32 可用 J-Link/OpenOCD,CH32 建议用官方 WCH-Link,混用调试器时识别 IDCODE 不同属正常现象。
依据:GD32F103 与 CH32F103 官方 datasheet / 用户手册的 Flash 等待周期与时钟章节、沁恒 CH32F103 USB 寄存器说明,以及各家 SDK 启动文件的公开差异。
实测小实验:XSim 复现 USART 波特率发生器:36/72MHz 双 APB 域实测 115200
实验设计:XSim 2017.4 行为模型复现 STM32F103 的 BRR 过采样累加器语义——每个 APB 时钟累加 16,累到 BRR 进位产生一次 16 倍过采样 tick,等效 bit 周期 = BRR/APB 秒。115200 档两组时钟域同图对照:APB1=36MHz(BRR=round(36e6/115200)=313)与 APB2=72MHz(BRR=625,整除),实量 1024 个过采样 tick 的平均周期换算误差。
XSim 实测:APB1(36MHz)侧实际波特率 115015.0,误差 −0.161%;APB2(72MHz)侧 115207.4,误差 +0.006%——72MHz 整除几乎零误差,36MHz 的半精度(312.5 取 313)只丢了 0.16%。两个时钟域都远在 ±2% 窗口深处。
实验结论:F103 在 72/36MHz 下 115200 完全不用操心,挂 APB1(36MHz)的外设也只是 0.16% 量级。高速档(460800 以上)定点 BRR 的取整误差会长大,但同口径推算仍在 ±2% 内——真正要抠误差时,对照 ESP32 的小数分频(本系列另一篇实测 921600 档 −0.008%)就知道结构差距在哪。
代码获取:本实验的完整代码与实测输出在公开仓库 derekzhuo/geek-doc.cn 的
experiments/chip-ref-stm32f103c8t6/目录,克隆后按 README 一条命令复现。
实验环境
- 机器/系统:Windows 11 工作站
- 工具版本:Vivado Simulator 2017.4(xvlog/xelab/xsim 批处理链)
- 日期:2026-10-25
- 完整命令:
xvlog tb_*.v && xelab -debug typical tb -s sim && xsim sim -R(见仓库 run.bat)
参考来源
- ST RM0008 Reference manual (rev 21)
- STM32F103x8/B Datasheet (rev 17)
- GD32F103xx Datasheet
- CH32F103 Datasheet