正常
LED 点灯:从 C 到 C++ 的演进
一盏 LED,一条完整的现代 C++ 重构之路——从 HAL 寄存器操作到模板与
if constexpr的编译期优化。
动机
- 第6篇:从点亮第一盏 LED 开始 — 我们为什么要用现代 C++ 写 STM32
硬件基础
- 第7篇:GPIO 到底是什么 — 通用输入输出的前世今生
- 第8篇:推挽、开漏与 PC13 — LED 点亮的硬件秘密
HAL 操作
- 第9篇:HAL 时钟使能 — 不开时钟,外设就是一坨睡死的硅
- 第10篇:HAL_GPIO_Init — 把引脚配置告诉芯片的仪式
- 第11篇:HAL_GPIO_WritePin 与 TogglePin — 让引脚动起来
C 宏时代
- 第12篇:C 宏时代的 LED 驱动 — 能跑但不优雅
C++ 重构演进
- 第13篇:第一次重构 —— enum class — 取代宏,类型安全的开始
- 第14篇:第二次重构 —— 模板 — 编译时绑定端口和引脚
- 第15篇:第三次重构 —— if constexpr — 让时钟使能在编译时自动选对
- 第16篇:第四次重构 —— LED 模板 — 从通用 GPIO 到专用抽象
- 第17篇:C++23 特性收尾 — 属性、链接与零开销抽象的最终证明
总结
- 第18篇:常见坑位与实战练习 — 把 LED 玩出花样来