【STM32】STM32系列产品以及新手入门的STM32F103
📢 STM32F103xC/D/E 系列是一款高性能、低功耗的 32 位 MCU,适用于工业、汽车、消费电子等领域;基于 ARM Cortex-M3,主频最高 72MHz,支持 512KB Flash、64KB SRAM,适合复杂嵌入式应用,提供丰富的外设(USB、CAN、SDIO、I²C、SPI、USART),支持低功耗模式(睡眠、停止、待机),适用于电池供电设备。
提供官方手册:
STM32F103 数据手册
STM32F103 参考手册
STM32 开发指南
STM32F103xC/STM32F103xD/STM32F103xE

STM32F103RCT6 是意法半导体(STMicroelectronics)推出的 基于 ARM Cortex-M3 内核的 32 位 MCU,属于 STM32F1 系列的高性能互联型产品,具有较高的主频、丰富的外设和低功耗特性。这是一款基于 ARM Cortex-M3 的高性能 MCU 微控制器,提供丰富的外设和通信接口,适用于各种嵌入式系统。
MCU 基本信息
型号:STM32F103RCT6
制造商:STMicroelectronics(意法半导体)
核心:ARM Cortex-M3(32 位)
最高主频:72MHz
Flash 存储:256KB
SRAM:48KB
封装类型:LQFP64(64 引脚)
工作电压:2.0V ~ 3.6V
I/O 口:最多 51 个 GPIO
工作温度:-40°C ~ 85°C(工业级)
主要功能特点
时钟系统:高达72M
外部高速晶振:4MHz ~ 16MHz
内部高速 RC 振荡器:8MHz
内部低速 RC 振荡器:40kHz(用于看门狗)
内部锁相环(PLL):可对 HSE(外部高速晶振)或 HSI(内部高速 RC 振荡器)进行倍频,提供系统时钟
外部低速 32.768 kHz 晶振:用于 RTC(实时时钟)
低功耗模式:
支持 3 种低功耗模式:
- 睡眠模式(Sleep):CPU 停止,但外设可继续运行
- 停止模式(Stop):所有时钟停止,仅保留 SRAM 和寄存器数据
- 待机模式(Standby):最低功耗模式,仅保留 RTC 和备份寄存器,可用电池供电
ADC / DAC:
- ADC(模数转换):
- 3 个 12 位 ADC
- 最多 16 个外部测量通道
- 支持内部温度测量
- 内置参考电压
- DAC(数模转换):
- 2 个 12 位 DAC
- 可用于音频信号生成或电压控制
DMA(直接存储器存取):
12 个 DMA 通道
支持的外设:
- 定时器
- ADC
- SDIO
- I²S
- SPI
- I²C
- USART
定时器:
多达 11 个定时器
- 4 个通用定时器:16 位,支持 PWM、输入捕获、编码器模式
- 2 个基本定时器:用于 DAC 触发
- 2 个高级定时器: 支持 6 通道 PWM,死区时间管理
- 1 个系统定时器:SysTick 24 位倒计时
- 2 个看门狗定时器: 独立看门狗(IWDG),窗口看门狗(WWDG)
支持 PWM 输出、输入捕获、编码器接口等功能
存储器:
Flash 存储器:256KB ~ 512KB(用于代码和数据存储)
SRAM:48KB ~ 64KB(高速存取存储器)
FMC(灵活存储控制器):
- 支持 NOR Flash、SRAM、PSRAM、NAND 存储器
- 支持 LCD 并行接口(8080/6800 模式)
GPIO:
最多 112 个 I/O 口
所有 GPIO 支持 5V 容忍(FT)
支持外部中断(EXTI)
支持 AF(复用功能)
支持位带操作(Bit-Banding)
通信接口:
多达 13 个通信接口
- 2 × I²C
- 5 × USART(串口)
- 3 × SPI
- 1 × CAN 2.0
- 1 × USB OTG(全速 2.0)
- 1 × SDIO(用于 SD 卡接口)
封装信息:
LQFP64(10×10 mm,64 引脚)
LQFP100(14×14 mm,100 引脚)
LQFP144(20×20 mm,144 引脚)
LFBGA100(10×10 mm,100 球 BGA)
LFBGA144(10×10 mm,144 球 BGA)
调试接口:
支持 SWD(串行调试)和 JTAG 调试
SWD 仅需 2 根数据线
支持最多 8 个断点和 4 个观察点
STM32F103RCT6 的引脚信息:
封装类型:LQFP64(64 引脚)
GPIO 数量:最多 51 个 I/O 口
部分 I/O 口支持 5V 容忍(标注 FT 的引脚可承受 5V 输入)
电源引脚:
- VDD(主电源)
- VSS(地)
- VBAT(备用电池电源)
时钟引脚:
- OSC_IN / OSC_OUT(外部晶振)
- OSC32_IN / OSC32_OUT(RTC 低速晶振)
调试引脚:
- SWDIO / SWCLK(SWD 调试)
- JTDI / JTDO / JTAG(JTAG 调试)
综上,STM32F103xC/D/E 系列属于 高密度性能线(Performance Line),基于 ARM Cortex-M3 内核,主频最高 72MHz,支持 USB、CAN、11个定时器、3个ADC、13个通信接口。
| 类别 | 详情 |
|---|---|
| 核心 | ARM Cortex-M3,72MHz,1.25 DMIPS/MHz |
| 存储器 | 256KB - 512KB Flash,48KB - 64KB SRAM |
| 时钟管理 | 支持 4~16MHz 外部晶振,8MHz 内部 RC 振荡器,PLL 倍频 |
| 低功耗模式 | 睡眠、停止、待机 |
| ADC | 3 个 12 位 ADC,最多 21 个通道 |
| DAC | 2 个 12 位 DAC |
| DMA | 12 通道 DMA 控制器 |
| 定时器 | 11 个定时器(16 位通用定时器、高级定时器、看门狗) |
| 通信接口 | 2× I²C,5× USART,3× SPI,1× CAN2.0,1× USB 2.0,1× SDIO |
| GPIO | 最多 112 个 GPIO,支持 5V 容忍(FT) |
| 调试与跟踪 | SWD、JTAG、ETM(嵌入式跟踪) |
| 工作电压 | 2.0V ~ 3.6V |
| 温度范围 | -40°C ~ +105°C |
电气特性:
| 参数 | 值 |
|---|---|
| 工作电压 | 2.0V ~ 3.6V |
| I/O 口电压 | 5V 容忍(FT 标记) |
| Flash 读取电流 | 28mA(72MHz,2 WS) |
| 待机模式功耗 | 最低 1.9µA |
| ADC 采样率 | 最高 1Msps |
| DAC 输出范围 | 0.2V ~ VREF+ - 0.2V |
STM32F103RCT6 在 STM32F1 系列中的位置:
在 STM32F1 系列 中,STM32F103RCT6 属于 “高性能互联型”(ConnectivityLine),相比基础型(Basic Line)和 USB 基本型(USB Access Line),它具有:
✅ 更高的 存储容量(256KB Flash, 48KB SRAM)
✅ 更丰富的 通信接口(USB OTG, CAN 2.0, SDIO 支持)
✅ 更强大的 定时器和 DMA 资源
STM32F103xC/D/E 微控制器的命名规则解析
STM32F103xC/D/E 系列微控制器的命名规则,用于识别不同型号的产品规格。
📌 命名格式:(每个部分代表特定的产品特性:)

STM32 F 103 R C T 6 xxx│ │ │ │ │ │ │ └── 选项(如编程版本、卷带包装)│ │ │ │ │ │ └── 工作温度范围│ │ │ │ │ └── 封装类型(H=BGA T=LQFP)│ │ │ │ └── Flash 存储大小(C:256k D:384k E:512k)│ │ │ └── 引脚数量(引脚是芯片的重要资源,因为它直接决定有多少通道和外界进行数据交互)│ │ └── 设备子系列│ └── 产品类别(通用型产品)└── 设备家族(基于ARM的32位微控制器)
| 字段 | 说明 | 示例 |
|---|---|---|
| Device family(设备家族) | STM32 = 基于 ARM Cortex-M 的 32 位微控制器 | STM32 |
| Product type(产品类型) | F = 通用微控制器(General-purpose) | F |
| Device subfamily(设备子系列) | 103 = 高性能系列(Performance line) | 103 |
| Pin count(引脚数量) | R = 64 引脚,V = 100 引脚,Z = 144 引脚 | R(64 引脚) |
| Flash memory size(Flash 存储容量) | C = 256KB,D = 384KB,E = 512KB | C(256KB Flash) |
| Package(封装类型) | H = BGA,T = LQFP | T(LQFP 封装) |
| Temperature range(工作温度范围) | 6 = 工业级(-40°C ~ 85°C),7 = 扩展工业级(-40°C ~ 105°C) | 6(-40°C ~ 85°C) |
| Options(选项) | xxx = 预编程版本,TR = 卷带包装 | xxx(可选项) |
STM32F103RCT6 代表:
STM32F103RCT6 是 64 引脚、256KB Flash、LQFP 封装、工业级温度范围的 STM32F103 系列 MCU。STM32 = 32 位 ARM MCUF = 通用型微控制器103 = 高性能系列R = 64 引脚C = 256KB FlashT = LQFP 封装6 = 工业级温度(-40°C ~ 85°C)
STM32F103RCT6 = 64 引脚、256KB Flash、LQFP 封装、工业级温度了解 引脚数、Flash 容量、封装、温度范围,可精准匹配应用需求
在实际应用中,开发者可根据 引脚数、存储大小、封装类型、工作温度 选择合适的 MCU。工业应用(温度范围 -40°C ~ 85°C) 选择 6 结尾型号,如 STM32F103RCT6。高温环境(扩展温度 -40°C ~ 105°C) 选择 7 结尾型号,如 STM32F103RCT7。LQFP 封装适用于常见 PCB 设计,而 BGA 封装适用于高密度应用。 STM32F103xC/D/E 命名规则清晰体现了设备的核心参数,帮助开发者快速选择合适的型号。
STM32:8大系列产品
STM32 微控制器系列 的产品分类,涵盖 高性能、低功耗、互联、基础型等不同应用场景。

STM32 系列的共同特性
通信接口:支持 USART、SPI、I²C
通用定时器:适用于 PWM、输入捕获、输出比较
DMA 控制器:提高数据传输效率
RTC(实时时钟):支持低功耗计时
PLL 和时钟管理:动态调整系统频率
FSMC(外部存储控制器):支持外部 Flash、SRAM、LCD 接口
ADC/DAC:支持 12 位 ADC 和 12 位 DAC
低功耗支持:
- 32.768kHz 振荡器
- 低速/高速 RC 振荡器
- 待机、睡眠、停止模式
工业级温度范围(-40°C ~ +85°C / -40°C ~ +105°C)
工作电压:2.0V ~ 3.6V(部分支持 1.65V ~ 3.6V)
5V 容忍 I/O 口
温度传感器
STM32 主要产品系列
STM32 按照不同应用需求,划分为 8 大系列:
⭐ 1. STM32F4 系列:高性能 DSP 计算
核心:Cortex-M4(168MHz)
特点:DSP + FPU(浮点运算)192KB~1MB SRAM2 个 USB 2.0 OTG3 轴电机定时器2 个 CAN 2.0BSDIO、I²S、以太网加密/哈希处理器
应用:高性能计算、信号处理、工业控制
⭐ 2. STM32F2 系列:高性能嵌入式
核心:Cortex-M3(120MHz)
特点:128KB SRAM,1MB FlashUSB 2.0 OTG2 个 CAN 2.0BSDIO、I²S、以太网加密/哈希处理
应用:工业控制、嵌入式系统
⭐ 3. STM32F1 互联型(STM32F105/107)
核心:Cortex-M3(72MHz)
特点:64KB SRAM,256KB FlashUSB 2.0 OTG2 个 CAN 2.0BSDIO、I²S、以太网
应用:物联网(IoT)、通信设备
⭐ 4. STM32F1 典型型(STM32F103)
核心:Cortex-M3(72MHz)
特点:大容量 FlashUSB 2.0CAN 2.0BSDIO、I²S
应用:消费电子、机器人控制
⭐ 5. STM32F1 USB 基本型(STM32F102)
核心:Cortex-M3(48MHz)
特点:16KB SRAM,128KB FlashUSB 2.0
应用:USB 外设、低成本设备
⭐ 6. STM32F1 基本型(STM32F101)
核心:Cortex-M3(36MHz)
特点:1MB Flash基础定时器
应用:基础嵌入式应用
⭐ 7. STM32F1 超值型(STM32F100)
核心:Cortex-M3(24MHz)
特点:512KB Flash3 轴电机定时器CEC(消费电子控制)
应用:成本敏感型应用
⭐ 8. STM32 L1 超低功耗系列(STM32L151/152)
核心:Cortex-M3(32MHz)
特点:48KB SRAM,384KB FlashUSB 2.02KB 数据 EEPROMLCD 驱动(8×40 段 / 4×44 段)低功耗特性(BOR、MSI、VScal)
应用:便携式设备、低功耗 IoT
以上,
STM32F4:高性能 DSP 计算
STM32F2:嵌入式高性能应用
STM32F1 互联型:物联网通信
STM32F1 典型型:主流嵌入式控制
STM32F1 USB 基本型:USB 应用
STM32F1 基本型:基础嵌入式
STM32F1 超值型:低成本应用
STM32 L1:超低功耗 IoT
STM32 系列覆盖高性能、低功耗、互联、基础型 MCU,适用于工业控制、消费电子、物联网、汽车电子等领域。
以上。仅供学习与分享交流,请勿用于商业用途!转载需提前说明。
我是一个十分热爱技术的程序员,希望这篇文章能够对您有帮助,也希望认识更多热爱程序开发的小伙伴。
感谢!
相关文章:
【STM32】STM32系列产品以及新手入门的STM32F103
📢 STM32F103xC/D/E 系列是一款高性能、低功耗的 32 位 MCU,适用于工业、汽车、消费电子等领域;基于 ARM Cortex-M3,主频最高 72MHz,支持 512KB Flash、64KB SRAM,适合复杂嵌入式应用,提供丰富的…...
pycharm找不到conda可执行文件
conda 24.9.2 在pycharm的右下角就可以切换python解释器了...
自注意力机制的演进-从Transformer架构到DeepSeek-R1模型的深度语义理解革新
2025年,我国发布了开创性且高性价比的大语言模型-DeepSeek-R1,推动了AI领域的重大变革。本章节回顾了LLM的发展历程,其起点可追溯至2017年Transformer架构的提出,该架构通过自注意力机制(Self-Attention)彻底革新了自然语言处理技…...
Redis 脚本:高效数据管理的利器
Redis 脚本:高效数据管理的利器 引言 Redis,作为一款高性能的键值存储数据库,以其丰富的数据结构和操作命令,在互联网应用中扮演着重要的角色。Redis 脚本作为一种强大的工具,能够帮助开发者高效地管理和处理数据。本文将深入探讨 Redis 脚本的应用场景、编写技巧以及在…...
C++学习(十)(标准,C++11 和 C++14,C++17,C++20)
C 标准 C 标准是一组定义语言功能、语法和语义的规则和准则。国际标准化组织 (ISO) 负责维护和更新 C 标准。这些标准的主要目的是确保跨多个平台和编译器的一致性、效率和可维护性。 以下是迄今为止发布的不同 C 标准的简要摘要: C98/C03&…...
动态内存管理的了解及使用
目录 1.什么是动态内存? 2.为什么要使用动态内存分配空间? 3.动态内存开辟函数malloc,calloc,realloc 3.1 malloc 3.2 calloc 3.3 realloc 3.4 头文件包含 4.动态内存释放函数free 5.动态内存的基本常见错误 5.1 对NULL…...
大模型推理显存优化:从KV Cache压缩到量化策略实战
引言:显存瓶颈的困境 随着ChatGPT等大语言模型的广泛应用,模型推理过程中的显存占用问题日益凸显。以典型的Llama2-13B模型为例,单次推理就需要占用超过6GB显存,严重制约了服务吞吐量和硬件利用率。本文将深入探讨大模型推理中的…...
pom.xml配置(mybatisplus增删改查实现;PageInfo分页实现;JSONObject实现)
一、mybatisplus增删改查实现 pom.xml <!-- mybatis-plus --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.2</version></dependency>在mapper文件里…...
File文件和目录
一、文件和目录相关概念 计算机文件(File):以计算机硬盘为载体存储在计算机上的信息集合,可以是文本(.txt)、图片(.jpg、.png、.jpeg)、视频(.mp4)、程序(.exe)等,文件一般有拓展名,表示文件的类型。 文件…...
【运维笔记】Navicat中删除mongo 某个时间之前的数据
【运维笔记】Navicat中删除mongo 某个时间之前的数据 一、场景与需求1.1、场景1.2、需求 二、解决方案三、实战3.1、【Navicat】使用sql语句 (推荐)Step 1:使用查询窗口 - 查询Step 2:确认第一步的数据是否是需要删除的数据Step 3…...
BUUCTF逆向刷题笔记(1-12)
easyre、内涵的软件、xor、不一样的flag: buuctf reverse部分题解(实时更新)_reverse 题解-CSDN博客 请见小库里的blog。 reverse1 查壳发现没有,而且是64位 粗略改一下部分函数名,看看主要逻辑。 第一个for循环暂…...
如何改变怂怂懦弱的气质(2)
你是否曾经因为害怕失败而逃避选择?是否因为不敢拒绝别人而让自己陷入困境?是否因为过于友善而被人轻视?如果你也曾为这些问题困扰,那么今天的博客就是为你准备的。我们将从行动、拒绝、自我认知、实力提升等多个角度,…...
【DeepSeek】5分钟快速实现本地化部署教程
一、快捷部署 (1)下载ds大模型安装助手,下载后直接点击快速安装即可。 https://file-cdn-deepseek.fanqiesoft.cn/deepseek/deepseek_28348_st.exe (2)打开软件,点击立即激活 (3)选…...
算法之二维装水问题
目录 1. 题目2. 解释3. 思路4. 代码5. 总结 1. 题目 给定一个数组arr,已知其中所有的值都是非负的,将这个数组看作一个容器,请返回容器能装多少水 比如,arr {3,1,2,5,2,…...
[C语言日寄] 字符串操作函数的使用及其拓展
【作者主页】siy2333 【专栏介绍】⌈c语言日寄⌋:这是一个专注于C语言刷题的专栏,精选题目,搭配详细题解、拓展算法。从基础语法到复杂算法,题目涉及的知识点全面覆盖,助力你系统提升。无论你是初学者,还是…...
用Python的Pandas库解锁数据科学:从入门到实战
用Python的Pandas库解锁数据科学:从入门到实战 引言 Python的Pandas库(名称源自"Panel Data")作为数据科学生态系统的基石,凭借其强大的数据结构和灵活的操作功能,已成为全球超过90%数据工作者的首选工具。…...
利率债、信用债、可转债区别与优势
利率债、信用债、城投债和可转债是债券市场的主要品种,它们在发行主体、风险收益特征和投资优势上各有不同。以下是它们的区别和优势: 1. 利率债 定义:利率债是由政府或政府支持的机构发行的债券,主要包括国债、政策性金融债&…...
12、Vue 生命周期各阶段及任务
Vue 2 生命周期各阶段及任务 创建阶段 beforeCreate 此时实例刚刚初始化,数据观测(data)和 event/watcher 事件配置还未开始。通常在此阶段无法访问 data 中的数据和 methods 中的方法。可以进行一些与 Vue 实例无关的全局初始化操作&#x…...
AI进化太快,建立完善的AI理论迫在眉睫
如今的AI用日新月异来形容都毫不夸张。DeepSeek的热度还没降,Manus 又火了。随着AI越来越强大且进化速度越来越快,建立完善的AI理论迫在眉睫。 虽然AI是人类创造的,但是我们其实没有完全理解其原理。深度学习本质上还是一个黑盒,…...
MATLAB程序介绍,三维环境下的IMM(交互式多模型),使用CV和CT模型,EKF作为滤波
本文所述的MATLAB代码为三维的交互式多模型(IMM)滤波器,结合了匀速直线运动(CV模型)和匀速圆周运动(CT模型)的状态估计。使用扩展卡尔曼滤波(EKF)来处理状态更新与观测数…...
[Windows] 多系统键鼠共享工具 轻松跨系统控制多台电脑
参考原文:[Windows] 多系统键鼠共享工具 轻松跨系统控制多台电脑 还在为多台电脑需要多套键盘鼠标而烦恼吗?是不是在操控 Windows、macOS、Linux 不同系统电脑时手忙脚乱?现在,这些问题通通能解决!Deskflow 软件闪亮登…...
【leetcode hot 100 48】旋转图像
方法一:(原地旋转)对于矩阵中第 i 行的第 j 个元素,在旋转后,它出现在倒数第 i 列的第 j 个位置。matrix[row][col]在旋转后的新位置为matrix[col][n−row−1]。只要旋转四次就能回到原点。 class Solution {public vo…...
K8S高可用集群-小白学习之二进制部署(ansible+shell)
一.K8S高可用集群配置概述 序言:本文从一个小白的视角进行K8S的研究和部署,采用二进制的方式是为了更清楚了分解部署流程及了解这个集群是怎么运作的,加上ansible+shell是方便在这个过程中,遇到了问题,我们可以不断的快速重复部署来测试和研究问题的所在点,本文的架构图…...
【哇! C++】类和对象(三) - 构造函数和析构函数
目录 一、构造函数 1.1 构造函数的引入 1.2 构造函数的定义和语法 1.2.1 无参构造函数: 1.2.2 带参构造函数 1.3 构造函数的特性 1.4 默认构造函数 二、析构函数 2.1 析构函数的概念 2.2 特性 如果一个类中什么成员都没有,简称为空类。 空类中…...
利用Ollama+AnythingLLM+本地向量数据库Milvus+本地DeepSeek大模型实现知识库的搭建
1. Ollama的搭建 基本介绍 Ollama是一个支持在Windows、Linux和MacOS上本地运行大语言模型的工具。它允许用户非常方便地运行和使用各种大语言模型,比如Qwen模型等。用户只需一行命令就可以启动模型。 Ollama 下载:https://ollama.com/download Ollama 官方主页&a…...
攻防世界WEB(新手模式)19-file_include
先进行代码分析 include("./check.php");:包含并执行当前目录下的check.php文件,通常用于引入一些通用的函数、类或配置信息。if(isset($_GET[filename])):检查是否通过 GET 请求传递了名为filename的参数。如果传递了filename参数…...
Facebook 的隐私保护数据存储方案研究
Facebook 的隐私保护数据存储方案研究 在这个信息爆炸的时代,数据隐私保护已成为公众关注的热点。Facebook,作为全球最大的社交媒体平台之一,承载着海量用户数据,其隐私保护措施和数据存储方案对于维护用户隐私至关重要。本文将深…...
app UI自动化测试框架都包含哪些内容?
UI自动化测试框架是指用于自动化执行用户界面(UI)相关测试的工具和库。它们可以帮助开发团队提高测试效率、发现和解决应用程序中的问题,并确保应用程序的正确性和稳定性。下面将详细介绍一个完整的UI自动化测试框架应该具备的内容。 1. 测试环境配置 UI自动化测试框…...
C++ 中 `shared_ptr` 的用法及常见陷阱解析
shared_ptr 是 C 标准库(<memory> 头文件)中提供的一种智能指针,用于管理动态分配的内存。它通过引用计数(reference counting)来实现多个 shared_ptr 对象共享同一块内存的所有权。当最后一个 shared_ptr 被销毁…...
Android+SpringBoot的老年人健康饮食小程序平台
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,我会一一回复,希望帮助更多的人。 系统介绍 我将从经济、生活节奏、技术融合等方面入手,详细阐述居家养老管理模式兴起的…...
