STM32F103C8T6 详细参数与特性解析
---
1. 核心架构与性能
- 内核:ARM Cortex-M3
- 主频:72 MHz(1.25 DMIPS/MHz,性能约90 DMIPS)
- 电源电压:2.0V–3.6V(典型工作电流约36 mA@72 MHz)
- 指令集:支持Thumb-2,硬件乘除法器(32-bit)
---
2. 存储资源
- Flash:64 KB(实际可用约64KB,支持ICP编程)
- SRAM:20 KB(包括核心内存和通用RAM)
- 引导模式:支持从Flash、系统存储器(内置Bootloader)或SRAM启动
---
3. 外设资源
通信接口
- USART:3×(最 高4.5 Mbps,支持LIN)
- SPI:2×(主/从模式,18 MHz)
- I2C:2×(支持SMBus/PMBus)
- USB:1×USB 2.0全速设备(需外部晶振,12 Mbps)
- CAN:1×CAN 2.0B(需外接收发器如TJA1050)
模拟外设
- ADC:2×12-bit(1 MSPS,共16通道)
- DAC:无
- 比较器:无
定时器
- 高级定时器(TIM1):支持6路PWM输出
- 通用定时器:4×(TIM2/TIM3/TIM4,16-bit)
- 基本定时器(TIM6/TIM7):用于基础计时
其他
- DMA:7通道(支持外设到内存高速传输)
- 调试接口:SWD(2线)和JTAG(5线)
---
4. 封装与引脚
- 封装:LQFP-48(7×7 mm,引脚间距0.5 mm)
- GPIO数量:37个(部分支持5V容耐)
- 引脚复用:支持外设功能重映射(如USART2引脚可切换)
---
5. 低功耗特性
- 睡眠模式:CPU暂停,外设运行(电流约10 mA)
- 停机模式:保留SRAM(电流约20 µA)
- 待机模式:最 低功耗(电流约2 µA),通过RTC或外部中断唤醒
---
6. 开发支持
- 工具链:
- Keil MDK(需许可证,经典开发环境)
- STM32CubeIDE(官方免费,集成HAL库)
- PlatformIO(开源,支持VS Code)
- 调试工具:ST-link/V2(推荐)、J-link
- 软件库:
- 标准外设库(SPL)(已停产,但资料丰富)
- HAL库(STM32CubeMX生成,维护更新中)
---
7. 典型应用场景
- 嵌入式控制:无人机电调、3D打印机主板
- 工业设备:PLC模块、传感器采集
- 消费电子:USB设备(如键盘、游戏手柄)
- 物联网终端:CAN总线节点、串口转WiFi模块
---
8. 关键优势
- 经典性价比:Cortex-M3入门首 选,资料丰富且价格低廉(约¥10-20)
- 生态完善:社区支持强大(正点原子、野火等中文教程)
- 硬件兼容:引脚与STM32F103其他型号(如CBT6/RCT6)兼容
---
9. 相关型号对比
| 型号 | Flash | SRAM | 封装 | 差异点 |
|--------------------|-------|-------|------------|-------------------------|
| STM32F103CBT6 | 128KB | 20KB | LQFP-48 | Flash翻倍,其他相同 |
| STM32F103RCT6 | 256KB | 48KB | LQFP-64 | 增加GPIO和存储资源 |
| STM32F401CCU6 | 256KB | 64KB | UFQFPN-48 | Cortex-M4,主频84 MHz |
---
10. 注意事项
- Flash容量:实际可用空间需扣除Bootloader占用的2-4 KB。
- USB稳定性:建议使用外部8 MHz晶振(内部RC振荡器精度不足)。
- ADC精度:需注意电源滤波,参考电压(V<sub>REF+</sub>)建议接低噪声LDO。
---
11. 参考资料
- [STM32F103C8T6 数据手册](https://www.st.com/resource/en/datasheet/stm32f103c8.pdf)
- [STM32F1 参考手册(RM0008)](https://www.st.com/resource/en/reference_manual/rm0008-stm32f101xx-stm32f102xx-stm32f103xx-stm32f105xx-and-stm32f107xx-advanced-armbased-32bit-mcus-stmicroelectronics.pdf)
- [STM32CubeF1 固件库](https://www.st.com/en/embedded-software/stm32cubef1.html)
示例代码(HAL库点亮LED):
```c
include "stm32f1xx_hal.h"
void SystemClock_Config(void);
int main(void) {
HAL_Init();
SystemClock_Config();
__HAL_RCC_GPIOC_CLK_ENABLE();
GPIO_InitTypeDef GPIO_InitStruct = {0};
GPIO_InitStruct.Pin = GPIO_PIN_13; // 开发板常见LED引脚
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
while (1) {
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);
HAL_Delay(500); // 500ms闪烁
}
}
```
如需具体外设配置(如USB CDC或PWM控制),可进一步说明需求!


通过中商114


冀公网安备13010402002588