STM32 BSP 编写指南

📚 30章 · 从入门到实战 v2.0
01
BSP概述与开发环境搭建
BSP角色STM32CubeMXHAL库Keil/IAR/GCC点灯工程
02
STM32时钟系统与配置
时钟树HSE/LSEPLL倍频系统时钟MCO输出
03
GPIO驱动编写
推挽/开漏上拉/下拉HAL_GPIO_Init按键消抖位带操作
04
UART串口驱动
USART框图中断收发DMA传输printf重定向
05
中断系统与NVIC
优先级分组抢占/子优先级HAL_NVIC_SetPriority中断嵌套
06
定时器基础与PWM输出
基本/通用/高级时基单元HAL_TIM_Base_Start_ITPWM占空比
07
输入捕获与编码器接口
输入捕获频率/脉宽测量正交编码器电机测速
08
ADC模拟量采集
规则组/注入组单次/连续/扫描内部温度传感器
09
DAC与比较器
DAC输出波形生成内置比较器窗口比较
10
DMA控制器
DMA框图内存到内存外设到内存中断回调
11
SPI总线驱动
CPOL/CPHA全双工W25Q64 Flash
12
I2C总线驱动
7/10位地址AT24C02 EEPROM多主机通信
13
CAN总线驱动
数据帧/远程帧过滤器配置回环模式
14
SDIO与FATFS文件系统
SD卡协议4位/1位模式FATFS挂载文件读写
15
USB设备驱动
设备枚举CDC虚拟串口HID设备
16
USB主机驱动
Mass StorageU盘读写HUB支持
17
以太网与LwIP协议栈
MAC/PHYLwIP移植TCP/UDPHTTP服务器
18
FreeRTOS移植与任务管理
任务创建/删除优先级调度任务通知
19
FreeRTOS同步与通信
队列信号量互斥量事件组
20
FreeRTOS内存管理与中断管理
heap_1~5内存碎片临界区中断释放信号量
21
低功耗模式与电源管理
睡眠/停止/待机WFI/WFERTC唤醒功耗优化
22
RTC实时时钟
日历/闹钟时间戳备份寄存器Tamper检测
23
IWDG与WWDG看门狗
独立看门狗窗口看门狗喂狗策略可靠性设计
24
CRC校验与硬件加密
CRC计算硬件AES真随机数RNG
25
触摸感应 TSC
电容触摸触摸按键/滑条抗干扰
26
DCMI数字摄像头接口
OV2640JPEG捕获DMA双缓冲
27
FSMC/FMC外部存储器扩展
NOR/SRAMNAND FlashTFT-LCD驱动
28
Bootloader与IAP升级
Flash分区跳转APP固件校验/加密
29
调试与性能分析
SWD/JTAGITM/SWOSEGGER RTTCPU负载
30
综合实战:智能传感器采集系统
温湿度/气压/IMU多传感器融合云平台低功耗