【屏幕驱动】OLED / LCD(SPI/I2C)+ LVGL 基础

发布时间:2026/7/1 10:16:41
【屏幕驱动】OLED / LCD(SPI/I2C)+ LVGL 基础 一、先搞清楚三件事1.1 两类屏幕的本质区别OLED(有机发光二极管): 每个像素自己发光,不需要背光 对比度极高(黑色 = 完全不发光) 常见尺寸:0.96"(128×64)、1.3"(128×64) 常见接口:I2C(SSD1306 最常用)或 SPI 颜色:大多数是单色(白/黄/蓝) 功耗低(取决于点亮像素数量) LCD(液晶显示器): 像素不自发光,需要背光板 常见尺寸:1.8"(160×128)、2.4"(240×320)、2.8"(240×320) 常见接口:SPI(小尺寸)或并口(大尺寸) 颜色:彩色(16位色,65536色) 常见驱动芯片:ST7735(160×128)、ILI9341(240×320)1.2 屏幕驱动芯片是什么MCU 不能直接控制液晶像素,需要驱动芯片作为中间层: STM32 ──SPI/I2C──→ 驱动芯片(SSD1306/ILI9341)──→ 像素阵列 驱动芯片负责: ① 存储画面数据(GDDRAM,图形显示数据 RAM) ② 不停刷新像素(固定频率,MCU 不参与) ③ 接收 MCU 的命令(清屏、设置坐标、写像素数据) MCU 的工作: ① 发命令给驱动芯片(设置显示区域) ② 发像素数据(填充显示区域)1.3 LVGL 是什么,和直接驱动屏幕有什么区别直接驱动屏幕(裸驱动): 你自己计算每个像素的位置,自己画点、画线、画文字 适合:简单固定界面,资源极度有限( 20KB RAM) 缺点:代码量大,改界