
STM32 单片机学习笔记
这是我学习 STM32F103(Keil MDK + 标准库)的完整笔记,从环境搭建一直记到 ADC。 整份笔记按「章」组织:一篇就是一章,左侧可以切换章节,右边是本章的目录。
对应课程:铁头山羊 STM32 入门教程【新版】
这份笔记就是跟着这套视频记的 —— 视频里讲的每个实验,对应章节里都能找到完整代码。
这份笔记怎么用
- 按顺序读:从第一章的环境搭建开始,后面的实验都建立在前面的代码之上;
- 当工具书查:每个外设的章节基本遵循「原理 → 寄存器/结构体 → 初始化 → 读写实验」的节奏, 忘了哪个外设直接跳进去看对应那章;
- 代码都在正文里:每处功能都有完整的
c代码块,可以直接复制到自己工程里。
硬件与软件环境
| 项目 | 说明 |
|---|---|
| 开发板 | STM32F103C8T6 最小系统板(核心板) |
| 下载器 | ST-LINK V2 |
| 开发环境 | Keil MDK 5(需装 STM32F1 支持包 + ST-LINK 驱动) |
| 库 | STM32 标准外设库(StdPeriph Library) |
章节概览
| 章 | 主题 | 实验 |
|---|---|---|
| 第一章 | 准备 | Keil 环境、芯片与引脚认识 |
| 第二章 | GPIO | LED 闪灯、按钮输入 |
| 第三章 | 串口 USART | 收发数据、格式化打印、printf 封装 |
| 第四章 | I2C | 读写寄存器、软 I2C、OLED 显示 |
| 第五章 | SPI | 数据收发、W25Q64 读写 |
| 第六章 | 中断 | NVIC 优先级、串口中断接收 |
| 第七章 | EXTI | 外部中断按钮实验 |
| 第八章 | 时钟 RCC | 时钟树与 72MHz 配置 |
| 第九章 | 定时器 | 时基、PWM 呼吸灯、输入捕获、超声波测距、PWM 参数测量 |
| 第十章 | ADC | 单通道转换、定时器触发、扫描模式 |
本系列全部章节共 10 章
01第一章 准备:环境搭建与芯片认识Keil MDK 环境搭建、STM32F103 的基本信息与引脚分布,第一个程序跑通。02第二章 GPIO:输出输入模式与 LED、按钮实验GPIO 的 4 种输出模式、IO 最大输出速度、4 种输入模式,以及闪灯与按钮实验。03第三章 串口:通信协议与 USART 收发串口通信协议、USART 模块用法、IO 引脚初始化、发送与接收数据、格式化打印与常用功能封装。04第四章 I2C:协议、读写数据与 OLED 显示I2C 电路结构与通信协议、模块使用方法、读 / 写数据、软 I2C、功能封装,最后驱动 OLED 显示器。05第五章 SPI:协议、按钮驱动与 W25Q64 实验SPI 电路结构与协议、按钮驱动程序、IO 与 SPI 模块初始化、数据收发,以及 W25Q64 读写实验。06第六章 中断:概念、优先级与串口中断实验中断的概念、NVIC 中断优先级,以及用串口中断重写接收流程。07第七章 EXTI:外部中断原理与按钮实验EXTI 外部中断的工作原理、AFIO 与 EXTI 配置,并用外部中断重做按钮实验。08第八章 时钟:时钟树与编程配置STM32 时钟树结构,以及用 RCC 相关函数把系统时钟配到 72MHz 的编程方法。09第九章 定时器:时基单元、PWM 与输入捕获时基单元与自制延迟函数、输出比较与呼吸灯、输入捕获、超声波测距、从模式控制器、PWM 参数测量。10第十章 ADC:逐次逼近、采样时间与多通道转换逐次逼近型 ADC 原理、ADC 结构框图、采样与转换时间、常规单通道转换、定时器触发与扫描模式。本文由 FormerlyXZ 创作, 采用CC BY-NC-SA 4.0 许可协议。
转载请注明出处,禁止商业使用。
评论
评论由 Giscus提供。首次评论需要在评论框里登录一次 GitHub(与页头的站点登录互相独立,这是浏览器安全限制), 之后当前浏览器会记住,不用反复登录;评论框里可以直接粘贴图片、拖入 PDF 等附件(GitHub 会帮你存好)。
