基于 STM32F103C8T6 的智能闹钟固件,纯 C 裸机开发,CMake + Ninja 构建。
功能特性
- 双闹钟 — 秒级精度,支持 Daily / Date / Weekday 三种重复模式
- 128×64 OLED 显示 — 7 段数码管 + 二进制极简模式,风格可切换
- 个性化设置 — 进度条样式、首页风格掉电不丢失
- 30s 自动休眠 — STOP 低功耗模式,任意按键 / 闹钟唤醒
- 蜂鸣器响铃 — 30s 自动关断,任意键停止
硬件栈
| 组件 | 型号 | 接口 |
|---|---|---|
| MCU | STM32F103C8Tx (Blue Pill) | — |
| OLED | SSD1315 128×64 | I2C 0x78 |
| RTC | DS3231 | I2C 0xD0 |
| 输入 | 4 按键 + 有源蜂鸣器 | GPIO |
构建
cmake --preset Debug
cmake --build --preset Debug
# 产物: build/Debug/test.elf
前置:
arm-none-eabi-gcc+ Ninja
项目结构
Hardware/ 用户硬件驱动和应用代码
Core/ STM32CubeMX 生成代码
Drivers/ STM32 HAL + CMSIS
cmake/ 工具链配置