LVGL初步移植

一、初步移植界面驱动

这篇博客写的也不错,讲了整个的移植初步过程。如何做驱动,修改LVGL中的参数。

LVGL移植到基于VSCode的platformio工程的STM32L476 Nucleo开发板(st7789显示驱动)_BigAntHome的博客-程序员宅基地

这篇博客写了如何将在arduino移植LVGL,看完这个我们就知道怎么初步完成移植了。

How to use LVGL library – Arduino on an ESP-32 and SPI LCD

 


void my_disp_flush( lv_disp_drv_t *disp, const lv_area_t *area, lv_color_t *color_p )
{
  uint32_t w = ( area->x2 - area->x1 + 1 );
  uint32_t h = ( area->y2 - area->y1 + 1 );
  uint32_t wh = w*h;
  tft.startWrite();
  tft.setAddrWindow( area->x1, area->y1, w, h );
  while (wh--) tft.pushColor(color_p++->full);
  tft.endWrite();

  lv_disp_flush_ready( disp );
}


void setup() {
  // put your setup code here, to run once:
  lv_init();

  LCD_Init();//LCD初始化
  
  lv_disp_draw_buf_init( &draw_buf, buf, NULL, screenWidth * 10 );

   /*Initialize the display*/
   static lv_disp_drv_t disp_drv;
   lv_disp_drv_init( &disp_drv );
   /*Change the following line to your display resolution*/
   disp_drv.hor_res = screenWidth;
   disp_drv.ver_res = screenHeight;
   disp_drv.flush_cb = my_disp_flush;
   disp_drv.draw_buf = &draw_buf;
   lv_disp_drv_register( &disp_drv );
  lv_example_event_0();
   lv_example_event_1();

}

查看这部分代码是如何编辑display的函数的,并且调用。可以给下面的外部按键移植做个参考!

二、外部按键移植驱动

按照这个博客进行驱动改写,我们可以将外部的实体按键修改为LVGL中的驱动按键。

LVGL(7.5) 控件响应实体按键

三、菜单变换

参考这个博客修改界面驱动,进行菜单变换。

LittlevGL 切换界面的演示

原文地址:https://www.cnblogs.com/breakr-yu/p/15247367.html