正常
按键输入:消抖、状态机与类型安全
按键比 LED 难——硬件抖动、非阻塞消抖、状态机,再加上 C++ 的类型安全重构。
动机
- 第19篇:从输出到输入 — 为什么按钮比 LED 难
硬件基础
- 第20篇:GPIO 输入模式内部电路 — 芯片是如何 "听" 到外部信号的
- 第21篇:按钮电路与机械抖动 — 真实世界的信号长什么样
HAL 与轮询
- 第22篇:HAL GPIO 输入 API — 怎么用代码读到按钮状态
- 第23篇:C 语言轮询按钮 — 第一次亲手让按钮控制 LED
消抖
- 第24篇:非阻塞消抖 — 不让 CPU 停下来等
- 第25篇:7 状态消抖状态机 — 本系列的核心
C++ 重构演进
- 第26篇:
enum class重构按钮代码 — 类型安全的输入 - 第27篇:
std::variant事件 +std::visit分发 — 类型安全的 "发生了什么" - 第28篇:Button 模板类设计 — 把一切交给编译器
- 第29篇:Concepts 约束回调 — 完整代码走读
中断与总结
- 第30篇:EXTI 中断 — 坑位与练习