📊 LVGL 仪表盘实战
移植 · 优化 · 30 章完整体系
🎯 友好色系
✅ 30 章节
⚡ 性能调优
01
LVGL概述与环境搭建
LVGL是什么
为什么选择LVGL
开发板选型
工程模板
02
显示驱动移植
framebuffer
lv_port_disp.c
颜色深度
双缓冲
03
输入设备驱动移植
触摸屏
物理按键
lv_port_indev.c
坐标校准
04
LVGL配置系统深度解析
lv_conf.h宏
内存分配器
日志等级
帧率配置
05
FreeRTOS与LVGL任务调度
心跳机制
lv_task_handler
多任务锁
优先级分配
06
LVGL对象系统与基础控件
lv_obj_t
父子层级
lv_btn/label/slider
样式继承
07
仪表盘核心控件——弧形lv_arc
创建与角度
值范围
指示器
车速表盘
08
线条与画布 lv_line/lv_canvas
刻度线
自定义指针
性能对比
绘制优化
09
图表 lv_chart 实时波形
数据序列
滚动模式
实时更新
发动机转速
10
图像 lv_img 加载策略
PNG/SJPG/BIN
缓存策略
Flash加载
图像格式
11
样式系统与主题定制
lv_style_t
状态样式
主题切换
夜间模式
12
动画系统精讲
lv_anim_t
easing路径
回调
指针平滑转动
13
LVGL字体与文本渲染
内置/FreeType
自定义字体
多语言UTF-8
文本滚动
14
LVGL布局系统
Flex/Grid
lv_cont替代
自适应尺寸
lv_page
15
LVGL事件系统
LV_EVENT_CLICKED
冒泡捕获
手势识别
长按双击
16
LVGL任务与异步操作
lv_task_create
异步调用
延迟操作
定时器
17
LVGL文件系统接口
lv_fs_drv_t
FatFS/SPIFFS
配置文件
资源读取
18
LVGL日志与调试技巧
lv_log_register
内存监控
帧率显示
崩溃定位
19
LVGL性能分析工具
内置profiler
渲染时间
CPU负载
优化流程
20
脏矩形与局部刷新
脏矩形机制
lv_conf.h配置
减少重绘
局部刷新
21
绘制缓存与DMA加速
缓存池管理
DMA2D填充
DCMI/LTDC
硬件加速
22
图层与混合模式
硬件图层LTDC
软件混合
Alpha开销
减少混合
23
对象复用与池化
lv_obj内存池
静态分配
对象缓存
复用模式
24
图像与字体压缩
RLE/LZ4
字体子集化
按需加载
压缩算法
25
减少动态内存碎片
LV_MEM_SIZE
heap_4
碎片整理
自定义分配器
26
仪表盘实战——布局设计
UI架构
主/子界面
状态栏
导航栏
27
数据绑定与更新
模拟CAN总线
lv_label刷新
lv_arc联动
lv_chart
28
告警与交互
告警阈值
闪烁动画
声音提示
用户设置
29
性能调优 30→60fps
优化过程
渲染瓶颈
性能对比
调优实战
30
课程总结与进阶方向
LVGL 9.x新特性
SquareLine Studio
RT-Thread集成
AWTK对比