LCD-RGB屏幕学习(二)ESP32驱动RGB屏幕

ESP32是国内比较火的IOT芯片厂商,在个人玩家圈子里备受好评

1.器件准备

  • 40pin RGB 通用接口屏幕

这里的通用接口指的是市面上最常见的接口,并不属于某种标准

我拆开了吃灰已久的树莓派便携HDMI屏幕,在屏库上查看此型号,刚好满足需求,又剩下一笔大洋

  • ESP32N16R8

选用带有pasram的esp32,是因为RGB屏幕分辨率比传统的SPI屏幕分辨率高,需要的屏幕缓冲区较大,内部的SRAM不足以支持,因此,LVGL的缓冲区放在psram中,LCD的DMA缓冲区存放在内部的SRAM内(DMA内存必须要在内部)

  • FPC扩展座

开发板上没有直接可以连接RGB屏幕的接口,所以使用座子,将FPC通过杜邦线与ESP32连接在一起

2.软件测试

乐鑫在SDK中完成了很多工作,我们直接使用ESP_LCD这个组件,就可以实现多种屏幕的控制,并且乐鑫很贴心的移植好了LVGL

我们新建一个工程,模板选择rgb_panel,按照实际的线序连接ESP32和RGB屏幕

值得注意的是,我手里的屏幕,使能引脚悬空即可

并且ESP32的RGB只支持RGB565,但是手里的屏幕为RGB888,因此实际连接方式为:

  • 屏幕的R3~R7 连接红色数据线
  • 屏幕的G2~G7 连接绿色数据线
  • 屏幕的B3~B7 连接蓝色数据线
  • 我们放弃了数据低位,因为这些分量数据的影响最小

3.结果展示

杜邦线飞麻了,好几十根,背光使用升压模块,将5V升压到17V左右

4.其他

在接线正常的情况下,烧录进去程序后,基本屏幕就可以点亮了,如果屏幕无法点亮,可以从以下方向排查问题:

  • disp on/off引脚是否正常
  • hbp、hfp、vbp、vfp等配置参数是否正常,具体的要查看相关的屏幕手册,我这里运气比较好,直接点亮了
posted @ 2025-01-22 15:36  shumei52  阅读(747)  评论(0)    收藏  举报