当前位置: 首页 > news >正文

【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

STM32F103xC
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 种低功耗模式

  1. 睡眠模式(Sleep):CPU 停止,但外设可继续运行
  2. 停止模式(Stop):所有时钟停止,仅保留 SRAM 和寄存器数据
  3. 待机模式(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 倍频
低功耗模式睡眠、停止、待机
ADC3 个 12 位 ADC,最多 21 个通道
DAC2 个 12 位 DAC
DMA12 通道 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 系列微控制器的命名规则,用于识别不同型号的产品规格。

📌 命名格式:(每个部分代表特定的产品特性:)
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 = 512KBC(256KB Flash)
Package(封装类型)H = BGA,T = LQFPT(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,适合复杂嵌入式应用,提供丰富的…...

<建模软件安装教程1>Blender4.2系列

Blender4.2安装教程 0注意:Windows环境下安装 第一步,百度网盘提取安装包。百度网盘链接:通过网盘分享的文件:blender.zip 链接: https://pan.baidu.com/s/1OG0jMMtN0qWDSQ6z_rE-9w 提取码: 0309 --来自百度网盘超级会员v3的分…...

CentOS Docker 安装指南

CentOS Docker 安装指南 引言 Docker 是一个开源的应用容器引擎,它允许开发者打包他们的应用以及应用的依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。Docker 容器是完全使用沙箱机制,相互之…...

分布式ID生成方案:数据库号段、Redis与第三方开源实现

分布式ID生成方案:数据库号段、Redis与第三方开源实现 引言 在分布式系统中,全局唯一ID生成是核心基础能力之一。本文针对三种主流分布式ID生成方案(数据库号段模式、Redis方案、第三方开源框架)进行解析,从实现原理…...

tcc编译器教程2 编译lua解释器

本文主要介绍了使用tcc编译器编译lua解释器源码。 1 介绍 lua是一门编程语言,开源且源码很容易编译,我平时用来测试C语言编程环境时经常使用。一般能编译成功就说明编程环境设置正常。下面用之前设置好的tcc编程环境进行测试。 2 获取源码 我一般有保留多个版本的lua源码进…...

利用 requestrepo 工具验证 XML外部实体注入漏洞

1. 前言 在数字化浪潮席卷的当下,网络安全的重要性愈发凸显。应用程序在便捷生活与工作的同时,也可能暗藏安全风险。XXE(XML外部实体)漏洞作为其中的典型代表,攻击者一旦利用它,便能窃取敏感信息、掌控服务…...

在 Maven 中使用 <scope> 元素:全面指南

目录 前言 在 Maven 中, 元素用于定义依赖项的作用范围,即依赖项在项目生命周期中的使用方式。正确使用 可以帮助我们优化项目的构建过程,减少不必要的依赖冲突,并提高构建效率。本文将详细介绍 的使用步骤、常见作用范围、代码…...

uni_app实现下拉刷新

1. 在页面配置中启用下拉刷新 首先,你需要在页面的 pages.json 文件中启用下拉刷新功能。 {"pages": [{"path": "pages/index/index","style": {"navigationBarTitleText": "首页","enablePull…...

PCIe协议之RCB、MPS、MRRS详解

✨前言: PCIe总线的存储器写请求、存储器读完成等TLP中含有数据负载,即Data Payload。Data Payload的长度和MPS(Max Payload Size)、MRRS(Max Read Request Size)和RCB(Read Completion Bounda…...

达梦数据库在Linux,信创云 安装,备份,还原

(一)系统环境检查 1操作系统:确认使用的是国产麒麟操作系统,检查系统版本是否兼容达梦数据库 V8。可以通过以下命令查看系统版本: cat /etc/os-release 2硬件资源:确保服务器具备足够的硬件资源&#xff0…...

使用Dockerfile打包java项目生成镜像部署到Linux_java项目打docker镜像的dockerfile

比起容器、镜像来说,Dockerfile 非常普通,它就是一个纯文本,里面记录了一系列的构建指令,比如选择基础镜像、拷贝文件、运行脚本等等,每个指令都会生成一个 Layer,而 Docker 顺序执行这个文件里的所有步骤&…...

爬虫案例九js逆向爬取CBA中国篮球网

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、CBA网站分析二、代码 前言 提示:这里可以添加本文要记录的大概内容: 爬取CBA中国篮球网 提示:以下是本篇文章正文内容…...

【DeepSeek】Ubuntu快速部署DeepSeek(Ollama方式)

文章目录 人人都该学习的DeepSeekDeepSeek不同版本功能差异DeepSeek与硬件直接的关系DeepSeek系统兼容性部署方式选择部署步骤(Ollama方式)1.选定适合的deepseek版本2.环境准备3.安装Ollama4.部署deepseek5.测试使用 人人都该学习的DeepSeek DeepSeek 作…...

C++后端服务器开发技术栈有哪些?有哪些资源或开源库拿来用?

一、 C后台服务器开发是一个涉及多方面技术选择的复杂领域,特别是在高性能、高并发的场景下。以下是C后台服务器开发的一种常见技术路线,涵盖了从基础到高级的技术栈。 1. 基础技术栈 C标准库 C11/C14/C17/C20:使用现代C特性,如…...

基于SpringBoot的餐厅点餐管理系统设计与实现(源码+SQL脚本+LW+部署讲解等)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…...

服务端和客户端通信(TCP)

服务端 using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Sockets; using System.Text; using System.Threading.Tasks;namespace TeachTcpServer {class Program{static void Main(string[] args){#region 知识点一 …...

Java 大视界 -- Java 大数据在智能体育赛事运动员表现分析与训练优化中的应用(122)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…...

基于Spring Boot的多级缓存架构实现

基于Spring Boot的多级缓存架构实现 以下是一个基于Spring Boot的多级缓存架构实现示例 多级缓存架构实现方案 1. 依赖配置&#xff08;pom.xml&#xff09; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-star…...

Git与GitHub:理解两者差异及其关系

目录 Git与GitHub&#xff1a;理解两者差异及其关系Git&#xff1a;分布式版本控制系统概述主要特点 GitHub&#xff1a;基于Web的托管服务概述主要特点 Git和GitHub如何互补关系现代开发工作流 结论 Git与GitHub&#xff1a;理解两者差异及其关系 Git&#xff1a;分布式版本控…...

ALG(Alloy+Loki+Grafana)轻量级日志系统

ALG(AlloyLokiGrafana)轻量级日志系统 前提要求 GrafanaMinioNginxPrometheus Grafana日志收集系统旧版是PLG(ProtailLokiGrafana), Protail收集日志, Loki存储, Grafana展示, 后续的Protail不维护了, Grafana推出了Alloy代替Pritial, 除了收集日志外, 还集成管理Prometheus各种…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业&#xff0c;其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进&#xff0c;需提前预防假检、错检、漏检&#xff0c;推动智慧生产运维系统数据的流动和现场赋能应用。同时&#xff0c;…...

【JVM】- 内存结构

引言 JVM&#xff1a;Java Virtual Machine 定义&#xff1a;Java虚拟机&#xff0c;Java二进制字节码的运行环境好处&#xff1a; 一次编写&#xff0c;到处运行自动内存管理&#xff0c;垃圾回收的功能数组下标越界检查&#xff08;会抛异常&#xff0c;不会覆盖到其他代码…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)

目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关&#xff0…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档&#xff09;&#xff0c;如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下&#xff0c;风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...