【小宁学习日记1 stm32】stm32介绍
本文系统介绍了STM32嵌入式开发的学习笔记与硬件配置。主要内容包括:1)开发所需的硬件设备(STM32套件、工具)和软件环境(Keil5);2)详细列举了入门套件包含的各类传感器、执行器和接口模块;3)对STM32微控制器的架构特性(基于ARM Cortex-M内核)、主要参数和系列分类进行说明;4)重点解析了STM32F103C8T6的启动模式配置方法和最小系统电路设计,包括晶振、复位、电源等
目录
01.介绍
这个系列将自己在江协科技STM32教程系列学习到的内容以及有关资料整理在这里,干货满满,希望可以为我提供些建议。(有自己的理解在里面)
02.硬件设备
- STM32面包板入门套件(可在PDD上购买或者去B站江协科技购买)
- Windows电脑
- 万用表、示波器、镊子、剪刀等
03.软件设备
Keil5 MDK

04.套件介绍
(摘抄:Print World)

| 元件名称 | 功能简介 |
|---|---|
| 杜邦线 | 用于面包板、模块间快速电路连接,实现信号、电源传输 |
| 面包板飞线 | 适配面包板,灵活搭建临时电路,方便调试 |
| 面包板跳线 | 在面包板上短距离连接不同区域,构建电路通路 |
| 面包板 | 提供免焊接搭建电路环境,方便元件插装、电路调试 |
| STM32 最小系统板 | 以 STM32 芯片为核心,具备基本运行电路,用于嵌入式系统开发 |
| STLINK | 用于 STM32 程序下载、调试,实现代码烧录与硬件调试 |
| USB 转串口 | 实现 USB 与串口信号转换,用于电脑与设备串口通信、程序调试 |
| 蜂鸣器 | 根据控制信号发声,可用于提示、报警等场景 |
| 光敏电阻传感器 | 感知光线强度,电阻随光照变化,用于光控应用 |
| 热敏电阻传感器 | 感知温度变化,电阻值随温度改变,用于温度检测 |
| 130 直流电机 | 将电能转化为机械能,输出旋转动力,用于简单动力场景 |
| W25Q64 Flash 闪存 | 存储数据,如程序、配置信息等,掉电数据不丢失 |
| TB6612FNG 电机驱动 | 驱动直流电机,控制转速、转向,适用于小功率电机 |
| MPU6050 陀螺 + 加速度计 | 检测物体角速度、加速度,用于姿态检测、运动分析 |
| 旋转编码器 | 输出与旋转位置、速度相关电信号,用于转速、角度测量 |
| OLED 显示屏 | 显示字符、图形、数据等信息,用于人机交互界面 |
| 电位器 | 调节电阻值,可改变电路电压、电流,用于参数调整 |
| 按键 | 输入开关信号,实现功能触发、状态切换 |
| LED | 发光指示,用于状态显示、简单光信号输出 |
| 反射式红外传感器 | 发射接收红外光,检测物体有无、距离(通过反射) |
| 对射式红外传感器 | 通过红外光遮挡检测物体,常用于计数、物体存在检测 |
| SG90 舵机 | 接收控制信号,驱动输出轴转动特定角度,用于云台、机械臂等 |
04.stm32简介
STM32 是 ST 公司基于 ARM Cortex - M 内核开发的 32 位微控制器,在嵌入式领域应用广泛。它功能强大、性能优异、片上资源丰富且功耗低,是经典嵌入式微控制器。
在应用场景上,覆盖智能车、无人机、机器人、无线通信、物联网、工业控制以及娱乐电子产品等。
从性能分类看,有高性能(如 STM32F2/F4/F7/H7 系列 ,CoreMark 分数与工作频率不同 )、主流(如 STM32G0/G4/F0/F1/F3 系列 )、超低功耗(如 STM32L0/L1/L4/L5 系列 )、无线(如 STM32WL/WB 系列 )等类别,不同系列适配多样需求,助力开发者打造丰富嵌入式应用 。

STM32F103C8T6
- 系列:主流系列STM32F1
- 内核:ARM Cortex-M3
- 主频:72MHz
- RAM:20K(SRAM)
- ROM:64K(Flash)
- 供电:2.0~3.6V(标准3.3V)
- 封装:LQFP48
05.ARM介绍
ARM 是一个含义丰富的概念,它既代表 ARM 公司,也是 ARM 处理器内核的指代。
ARM 公司在半导体领域占据着举足轻重的地位,是全球领先的半导体知识产权(IP)提供商。在移动智能设备市场,ARM 架构更是占据了统治性地位, 全世界超过 95% 的智能手机和平板电脑都采用 ARM 架构。
ARM 公司的运营模式较为独特,它专注于设计 ARM 内核,并不直接生产芯片。而是将设计好的内核授权给其他半导体厂商,这些厂商会在 ARM 内核的基础上,完善周边电路,比如存储器接口、各类外设接口等,最终生产出满足不同应用场景的芯片。

从 ARM 处理器内核家族来看,其涵盖多个系列,可大致分为经典 ARM 处理器(如 ARM7、ARM9、ARM11 等) 、嵌入式 Cortex 处理器(例如 Cortex-M0、Cortex-M1、Cortex-M3、Cortex-M4 等,适用于低功耗、对成本和性能有一定要求的嵌入式场景,像 STM32 系列微控制器就是基于 ARM Cortex-M 内核开发 ) ,以及应用 Cortex 处理器(像 Cortex-A5、Cortex-A7、Cortex-A8、Cortex-A9、Cortex-A15 等,主要用于高性能计算场景,比如智能手机、平板电脑的应用处理器 )。不同系列的内核在性能和功能上有所差异,以满足多样化的市场需求。
06.片上资源/外设

07.命名规则

08.引脚定义

09.启动配置

这是 STM32F10xxx 系列单片机启动模式的配置说明,核心是通过 BOOT1 和 BOOT0 引脚的电平组合,决定芯片复位后从哪里加载程序运行,具体解析如下:
9.1 关键概念
BOOT引脚:BOOT1和BOOT0是 STM32 的启动模式选择引脚,通过设置它们的电平(高 / 低),决定系统复位后从哪个存储区域启动程序。- 启动模式:STM32 需要从特定存储区域加载程序运行(如 Flash、系统存储器、SRAM ),不同场景(正常运行、程序升级、调试)需灵活切换启动源。
9.2 表格解析(启动模式配置)
BOOT1 |
BOOT0 |
启动模式 | 说明 | 典型场景 |
|---|---|---|---|---|
| X(任意) | 0 | 主闪存存储器 | 从芯片内置的 主 Flash 启动 | 正常运行用户程序(最常用) |
| 0 | 1 | 系统存储器 | 从芯片内置的 系统存储器 启动 | 串口下载程序(ISP 模式) |
| 1 | 1 | 内置 SRAM | 从芯片内置的 SRAM 启动 | 调试 / 临时程序运行(少用) |
X的含义:BOOT1=X表示BOOT1可为任意电平(0 或 1 不影响),只要BOOT0=0,就固定从主 Flash 启动。
9.3补充说明
- 锁存时机:系统复位后,
SYSCLK(系统时钟)的第 4 个上升沿会锁定BOOT1/BOOT0的电平状态,之后即使引脚电平变化,也不影响本次启动模式。 - 实际操作:
- 正常运行程序:一般将
BOOT0接 GND(0 电平 ),BOOT1随意(或也接 GND ),从主 Flash 启动。 - 串口下载程序:需将
BOOT0接 3.3V(1 电平 )、BOOT1接 GND(0 电平 ),进入 ISP 模式,配合串口工具烧录代码。
- 正常运行程序:一般将
简单说:通过 BOOT1 和 BOOT0 的电平组合,让 STM32 灵活选择启动来源,适配 “正常运行程序”“升级程序”“调试” 等不同需求 。
10.最小系统电路

这是 STM32F103C8T6 最小系统电路原理图,可分为以下模块理解:
10.1 晶振电路(左上角)
- 作用:为 STM32 提供稳定时钟信号,是芯片正常运行的 “心跳” 。
- 元件:8MHz 晶振(X1)、20pF 电容(C1、C2)。晶振产生基础时钟,电容起稳定振荡、匹配阻抗作用,让时钟信号更纯净。
10.2 复位电路(右上角)
- 作用:实现芯片复位,让系统回到初始状态,用于故障恢复、重新启动 。
- 元件:10kΩ 电阻(R1)、0.1μF 电容(C3)、按键(K1)。按键按下时,电容放电、NRST 引脚拉低,触发复位;松开后,电阻充电,NRST 恢复高电平,芯片重新运行。
10.3 启动配置电路(左下角)
- 作用:设置 STM32 启动模式,决定程序从 Flash、SRAM 还是系统存储器启动 。
- 元件:100kΩ 电阻(R2、R3)、跳线帽接口(H1)。通过跳线帽短接 BOOT0、BOOT1 不同引脚组合(如 BOOT0 接 GND、BOOT1 接 GND 为从主 Flash 启动 ),选择启动方式。
10.4 下载端口电路(中下角)
- 作用:用于程序下载、在线调试,连接 STLINK 等调试器与 STM32 通信 。
- 元件:接口(H2)。SWDIO 是数据输入输出线,SWCLK 是时钟线,配合调试器实现代码烧录、调试功能。
10.5 STM32 及供电电路(右侧大块)
- 供电部分:3V3 电源为芯片供电,电容(C4、C5、C7、C8 等)滤波,减少电源噪声,保障芯片稳定工作 。
- STM32 引脚:包含电源引脚(如 VDD、VBAT 等)、时钟引脚(OSC_IN、OSC_OUT 接晶振电路 )、复位引脚(NRST 接复位电路 )、调试引脚(SWDIO、SWCLK 接下载端口 ),以及通用 IO 口,用于扩展外设、实现各种功能 ,是整个最小系统的核心,运行程序、控制外设 。
这些模块协同工作,让 STM32 最小系统能稳定运行,支持程序开发、调试与功能实现 。
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐



所有评论(0)