1. 万年历系统工程架构与串口通信底层设计在嵌入式系统开发中,一个看似简单的万年历项目,实则是对工程师系统性思维、模块化设计能力与底层驱动掌控力的综合检验。本项目以STM32F103系列微控制器为硬件平台,目标是构建一个具备普通显示与时间设置双模式的万年历系统。其核心交互设备包括:RTC实时时钟模块、OLED显示屏、旋转编码器(旋钮)及其按键。整个系统需在无操作系统环境下稳定运行,所有逻辑均由主循环调度完成。项目启动的第一步并非编写代码,而是进行严谨的需求拆解与工程分层规划。真实工业级嵌入式项目绝非将所有功能塞入main()函数即可了事。我们面对的是三个明确的硬件外设与两种用户可感知的软件状态:普通模式下,系统持续从RTC读取时间戳,格式化后刷新至OLED;设置模式下,用户通过旋钮调整年、月、日、时、分、秒,并在确认后将新时间写回RTC。这一需求天然地将系统划分为清晰的职责边界:硬件驱动层负责与物理外设“对话”,业务逻辑层负责理解“用户意图”并协调各驱动层工作。因此,本项目采用经典的模块化分层架构,而非过度抽象的HAL-OS-Middleware多层模型。该架构包含三个核心部分:-应用层(APP):存放main_task.c/h等文件,定义MainTask()主任务函数与MainTaskInit()初始化函数,纯粹承载业务逻辑。-驱动库层(LIB):存放oled.c/h、kk_rtc.c/h