久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: ESP32-S2驅動4.3寸屏幕顯示littleVGL例程 [打印本頁]

作者: 沒有你    時間: 2021-8-29 17:55
標題: ESP32-S2驅動4.3寸屏幕顯示littleVGL例程
本帖最后由 沒有你 于 2021-9-5 23:07 編輯

  ESP32-S2帶有LCD接口,可以驅動8080并口的屏幕,手頭剛好有一塊4.3寸屏幕,買了一個ESP32-S2最小系統,就可以開整了。一、搭建ESP32-S2開發環境
  開發ESP32-S2需要搭建開發環境,從樂鑫官網可以找到教程,地址:https://docs.espressif.com/proje ... /windows-setup.html,打開網站找https://dl.espressif.com/dl/esp-idf-tools-setup-2.4.exe下載安裝即可,如果安裝過程中出現問題,需要看一下官網的教程,另外有一個好的網絡環境也是很重要的。

二、下載ESP32官方的例程
  這里參考官方一款開發板esp32-s2-hmi-devkit-1,github地址如下:https://github.com/espressif/esp ... p32-s2-hmi-devkit-1,打開后,發現components\lvgl\lv_examples和components\lvgl\lvgl都是空白的,所以需要從littleVGL官網下載源碼的例程,再把源碼和例程復制進來即可
三、下載littleVGL源碼和例程
  目前littleVGL已經更新到8.02,不過考慮到穩定性,我使用7.11版本。littleVGL例程網址:https://github.com/lvgl/lv_demos/releases/tag/v7.11.0
littleVGL源碼網址:https://github.com/lvgl/lvgl/releases/tag/v7.11.0
四、填充esp32-s2-hmi-devkit-1空白文件
    由于esp32-s2-hmi-devkit-1的工程下的components\lvgl目錄下的lv_examples和lvgl是空白的,所以需要把下載lvgl-7.11.0文件夾下的所有文件復制到components\lvgl\lv_examples下,把lv_demos-7.11.0文件夾下的所有文件復制到components\lvgl\lvgl下。進入components\lvgl\lv_examples下復制lv_ex_conf_template.h到components\lvgl,名字改成lv_ex_conf.h。打開lv_ex_conf.h,修改三個地方:第一行的#if 1,使能宏#define LV_EX_PRINTF ,使能宏#define LV_USE_DEMO_PRINTER。這樣就可以使用DEMO_PRINTER演示了。esp32構建工程用到Cmake開發工具,所有添加的源文件和頭文件需要添加到CMakeLists.txt下添加,在原有的基礎上添加lv_examples的源文件和頭文件路徑即可,完整文件如下所示:
  1. idf_component_register(
  2.     SRC_DIRS
  3.         # LVGL Main SRC
  4.         "lvgl/src/lv_core"
  5.         "lvgl/src/lv_draw"
  6.         "lvgl/src/lv_font"
  7.         "lvgl/src/lv_gpu"
  8.         "lvgl/src/lv_hal"
  9.         "lvgl/src/lv_misc"
  10.         "lvgl/src/lv_themes"
  11.         "lvgl/src/lv_widgets"
  12.         # LVGL porting
  13.         "lv_port"
  14.         # LVGL Examples
  15.         "lv_examples/src/assets"
  16.         "lv_examples/src/lv_demo_benchmark"
  17.         "lv_examples/src/lv_demo_music"
  18.         "lv_examples/src/lv_demo_music/assets"
  19.         "lv_examples/src/lv_demo_printer"
  20.         "lv_examples/src/lv_demo_printer/images"
  21.         "lv_fonts"
  22.     INCLUDE_DIRS
  23.         # Config and defination at current path
  24.         "."
  25.         #LVGL main repo
  26.         "lvgl"
  27.         "lvgl/src/lv_core"
  28.         "lvgl/src/lv_draw"
  29.         "lvgl/src/lv_font"
  30.         "lvgl/src/lv_gpu"
  31.         "lvgl/src/lv_hal"
  32.         "lvgl/src/lv_misc"
  33.         "lvgl/src/lv_themes"
  34.         "lvgl/src/lv_widgets"
  35.         # LVGL porting
  36.         "lv_port/include"
  37.         #LVGL examples
  38.         "lv_examples"
  39.         "lv_examples/src/assets"
  40.         "lv_examples/src/lv_demo_music"
  41.         "lv_examples/src/lv_demo_music/assets"
  42.         "lv_examples/src/lv_demo_benchmark"
  43.         "lv_examples/src/lv_demo_printer"
  44.     REQUIRES
  45.         bsp
  46.         i2c_devices)

  47. # LVGL might have warnings. Just ignore them
  48. target_compile_options(${COMPONENT_LIB} PRIVATE
  49.     -w)
復制代碼



五、修改屏幕驅動  手頭的4.3寸屏幕驅動IC型號是NT35510,工程默認的RM68120,需要做修改。我使用的是helloworld工程,打開ESP-IDF PowerShell,切換到\examples\get-started\hello_world下,輸入idf.py menuconfig,選擇HMI_Board_Config選擇LCD_Driver選擇NT35510。

在lvgl_port.c中,修改屏幕驅動為NT35510,scr_find_driver(SCREEN_CONTROLLER_NT35510, &lcd);
六、添加觸摸驅動
  手頭的4.3寸屏幕觸摸驅動IC型號是gt9147,工程中沒有這個IC的驅動,需要自己添加,下面是我自己的一個驅動,可以作為參考,源碼如下
[code]#include "gt9147.h"

#define TAG "GT9147"

#define gt9147_rst    42
#define gt9147_int    41
#define gt9147_OUTPUT_PIN_SEL  ((1ULL<<gt9147_rst) | (1ULL<<gt9147_int))

const uint16_t GT9147_TPX_TBL[5]={GT_TP1_REG,GT_TP2_REG,GT_TP3_REG,GT_TP4_REG,GT_TP5_REG};


//GT9147配置參數

編譯結果.PNG (108.38 KB, 下載次數: 210)

編譯結果.PNG

燒錄結果.PNG (56.7 KB, 下載次數: 223)

燒錄結果.PNG

實物.jpg (99.47 KB, 下載次數: 239)

實物.jpg

esp32s2.7z

17.39 MB, 下載次數: 108, 下載積分: 黑幣 -5


作者: 青青子欽    時間: 2021-9-2 08:44
請問,問什么我不能生成HMI_Board_Config的界面?
作者: 沒有你    時間: 2021-9-2 11:39
青青子欽 發表于 2021-9-2 08:44
請問,問什么我不能生成HMI_Board_Config的界面?

用idf.py build指令可以編譯通過嗎?
作者: 青青子欽    時間: 2021-9-3 10:07
沒有你 發表于 2021-9-2 11:39
用idf.py build指令可以編譯通過嗎?

我移植的是lvgl8.0,D:\QT\屏幕截圖 2021-09-03 095904.jpg可以build
作者: haiyang00    時間: 2021-9-6 17:05
這個操作,怎么不能調出LVGL本身的 配置UI呢
作者: 沒有你    時間: 2021-9-6 21:40
haiyang00 發表于 2021-9-6 17:05
這個操作,怎么不能調出LVGL本身的 配置UI呢

ESP32-S2的8080屏幕用的是驅動不是littleVGL官網的標準驅動,所以沒有用littleVGL自帶的kconfig。你可以把littleVGL源碼的kconfig文件復制到上一級目錄,即components\lvgl目錄,然后輸入idf.py menuconfig,可以進入Component config → LVGL configuration
作者: omrcard    時間: 2021-9-8 18:56
感謝樓主分享,正需要這個!給樓主點贊。!
作者: MilkPower    時間: 2021-9-9 17:28
非常棒!沒有esp32s2,請問一下用ESP32可以么?
作者: 沒有你    時間: 2021-9-11 16:12
MilkPower 發表于 2021-9-9 17:28
非常棒!沒有esp32s2,請問一下用ESP32可以么?

應該也是支持的,可以試試
作者: MilkPower    時間: 2021-9-16 15:46
我這里也用了正點原子的4.3電容屏,然后踩了個大坑。gt9147觸摸IC停產,現在的已經換成GT1151Q,讀觸摸的產品ID是1158。弄了幾天,差點否定自我。。。等我換好觸摸驅動再來支持~
作者: 喬峰gao    時間: 2021-10-22 10:18
你好 如果用其他屏幕驅動改怎么添加 比例我用的是ILI9488
作者: Letitia    時間: 2022-4-20 13:08
喬峰gao 發表于 2021-10-22 10:18
你好 如果用其他屏幕驅動改怎么添加 比例我用的是ILI9488

我也想問這個




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 午夜免费福利 | 国产日韩欧美一区 | 欧美一级特黄视频 | 成人不卡视频 | 亚洲最新视频 | 性欧美69| 91在线播放视频 | 久久爱影视i | 亚洲精品字幕 | 亚洲午夜在线 | 97国产视频 | 在线网站免费观看18 | 日韩在线欧美 | 国产午夜免费视频 | 欧美日韩亚洲一区 | 色妞网站 | 日日拍夜夜拍 | 天天做天天爽 | 99久久精品一区二区成人 | 国产精品久久免费 | 精品视频999 | 午夜精品久久久久 | av日韩在线播放 | 精品无人国产偷自产在线 | 天天拍夜夜操 | 日韩精品福利 | 久久一级片 | 欧产日产国产69 | 能看的av网站 | 黄色一级视频网站 | 欧美黄色免费网站 | 亚洲成人自拍 | 欧美特黄 | 天天躁日日躁狠狠躁av麻豆男男 | 美女久久久| 少妇搡bbbb搡bbb搡毛茸茸 | 日韩国产一区二区三区 | 日韩一区二区三区在线播放 | 国产永久免费 | 波多野结衣视频在线播放 | 免费毛片在线播放 |