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 切換界面的演示


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM