ST H7 LVGL UI系统移植基于LTDC液晶驱动-综合

892 阅读1分钟

1 LTDC液晶驱动-基于800x480分辨率

  • 使用 image.png
  • lcd.h image.png
  • RGB颜色转换 image.png image.png image.png
  • lcd.c image.png image.png image.png image.png
  • 清屏函数,将LCD清除为 LCD.BackColor 的颜色,使用DMA2D实现 image.png
  • Color - 要显示的颜色,示例:0xff0000FF 表示不透明的蓝色,0xAA0000FF 表示透明度为66.66%的蓝色 image.png
  • LCD_DrawPoint image.png image.png

2 DMA2D功能测试(显示色块,位图,Alpha混合和图片混合等)

  • DMA2D 可以直接绘制 ARGB8888,RGB565 颜色格式位图,并且可以方便的做各种透明效果和图像混合显示。
  • LCD 的加速全靠 DMA2D,所有务必要熟练掌握其用法。 image.png image.png

2.1 DMA2D功能测试

  • image.png image.png image.png image.png

2.2 DMA2D各种透明效果和图像混合显示实现

  • _DMA2D_Fill image.png
  • _DMA2D_Copy image.png
  • _DMA2D_MixColorsBulk image.png
  • _DMA2D_AlphaBlendingBulk image.png
  • _DMA2D_DrawAlphaBitmap image.png

2.3 实验现象

  • image.png

3 LVGL LTDC液晶驱动RGB565-基于800x480分辨率

  • MAIN image.png

3.1 移植 (RGB565)

  • lv_port_disp_init image.png image.png
  • disp_flush image.png
  • LCD_CopyBuffer image.png

4 LVGL LTDC液晶驱动移植(L8)-基于800x480分辨率

4.1 查找表基础知识

  • 查色表颜色索引 查色表颜色索引1.png
  • 索引表.h image.png
  • 使用查找表设置背景色方式 image.png image.png

4.2 LVGL LTDC液晶驱动移植(L8)

  • MX_LTDC_Init image.png image.png
  • 查找表设置(此处将自动生成256个颜色) image.png image.png image.png
  • lv_port_disp_init image.png
  • disp_flush image.png
  • LCD_CopyBuffer image.png