SMARTWATCH 学习手册有 C 基础 · 嵌入式从零开始
支线一 / 显示驱动与嵌入式 UI

从驱动屏幕,到用 LVGL 做完整界面

把一条像素通路,逐步扩展成能交互、能更新数据、能稳定运行的界面。七篇按同一个小界面递进,不要求一次记住全部 API。

从哪里开始?完成主线 GPIO、UART 与 SPI 后,可以先读第 1~5 篇。数据生命周期与多任务部分可结合裸机综合、FreeRTOS 回访;性能篇在正确显示和交互之后阅读。网页演示可以先练思路,设备显示仍需后续验证。

七篇学习路线

每一步应该带走什么?

阶段具体成果下一步为什么需要
01 屏幕纯色、单点、矩形和图片已有可靠像素通路,才接图形库
02 移植稳定缓冲、正确刷新和时间库可以持续处理并显示对象
03 控件一个能更新数字的基础页面对象与父子关系清楚,才能安排布局
04 外观留白合理、内容不重叠的卡片有稳定视觉结构,才加入交互
05 交互点击计数、按键意图和双页切换动作与状态分开,便于接数据
06 数据无效、过期和退出页面都正确处理功能正确且生命周期受控
07 优化有测量依据的刷新方案和故障定位再考虑 DMA、双缓冲与复杂产品页面

实验环境与代码使用

仓库使用 LVGL 8.3.11。可先用已经配置好的 8.3 桌面模拟器练控件与页面,也可使用已完成显示移植的独立实验工程。模拟器的鼠标输入不等于手表已有触摸驱动;物理按键的接入在第 5 篇解释。

示例先讲每个新函数的作用、参数与返回值,再给调用。不要重复初始化、重复创建页面或混用 v9 接口。每篇完成后先检查显示结果与交互行为,再继续增加功能。