📘 MCU底层驱动实战
30章 · 从寄存器到项目
01
GPIO基础与寄存器映射
GPIO工作原理
寄存器结构
地址映射
HAL库对比
02
GPIO输出模式详解
推挽/开漏
输出速度
上下拉
LED/蜂鸣器
03
GPIO输入模式详解
浮空/上拉/下拉
按键消抖
外部中断
04
GPIO复用功能与重映射
AFR寄存器
USART/SPI/I2C
SWD复用
05
GPIO实战项目
矩阵键盘
流水灯
模拟I2C/SPI
低功耗
06
定时器基础与分类
基本/通用/高级
时钟源
时基单元
07
定时器中断与PWM输出
更新中断
PWM模式1/2
呼吸灯
舵机
08
输入捕获与编码器接口
上升/下降沿
脉冲宽度
正交编码器
电机测速
09
定时器同步与触发
级联主从
ITR触发
输出比较
单脉冲
10
定时器实战项目
HC-SR04
红外NEC
PWM音乐
软件RTC
PID
11
USART串口通信基础
USART vs UART
帧格式
波特率
单/半/全双工
12
USART中断与DMA传输
TXE/RXNE/TC
DMA循环
双缓冲
高速串口
13
USART协议实现
自定义协议
Modbus RTU
AT指令
Shell
环形缓冲区
14
USART实战项目
GPS NMEA
蓝牙HC-05
ESP8266
虚拟串口
多机组网
15
SPI总线详解
SCK/MOSI/MISO/CS
CPOL/CPHA
8/16位
菊花链
16
SPI Flash驱动
W25Qxx
读/写/擦除
状态寄存器
FatFS
17
SPI外设驱动
OLED SSD1306
SD卡
DAC MCP4921
ADC MCP3208
RC522
18
I2C总线详解
SDA/SCL
起始/停止条件
7位/10位地址
多主机仲裁
19
I2C外设驱动
EEPROM AT24Cxx
SHT30
MPU6050
FT5x06
DS3231
20
I2C实战项目
多传感器采集
总线扫描
从机模式
软件/硬件对比
故障排查
21
ADC基础与配置
逐次逼近原理
分辨率/精度
采样时间
单次/连续
扫描模式
22
ADC高级功能
注入组/规则组
模拟看门狗
温度传感器
多通道DMA
过采样
23
DAC与比较器
DAC工作原理
正弦波/三角波
DAC+DMA
比较器迟滞
与定时器联动
24
DMA控制器详解
内存→外设
外设→内存
内存→内存
循环/双缓冲
FIFO与突发
25
DMA实战应用
ADC多通道
DAC波形
串口收发
SPI/I2C
内存拷贝
26
中断系统与NVIC
优先级分组
中断向量表
嵌套与抢占
延迟与抖动
临界区
27
系统时钟与复位
时钟树 HSI/HSE
PLL
CSS
MCO
复位源
低功耗模式
28
看门狗与电源管理
IWDG vs WWDG
喂狗策略
PVD
电压调节器
备份域
29
调试与性能优化
SWD/JTAG
断点/单步
Live Watch
Profiling
编译器优化
30
综合实战项目
智能小车驱动
电机/编码器
PID控制
蓝牙遥控
温湿度采集
LCD+SD卡