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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9410|回復: 11
打印 上一主題 下一主題
收起左側

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

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:963450 發表于 2021-9-2 08:44 | 只看該作者
請問,問什么我不能生成HMI_Board_Config的界面?
回復

使用道具 舉報

板凳
ID:351097 發表于 2021-9-2 11:39 | 只看該作者
青青子欽 發表于 2021-9-2 08:44
請問,問什么我不能生成HMI_Board_Config的界面?

用idf.py build指令可以編譯通過嗎?
回復

使用道具 舉報

地板
ID:963450 發表于 2021-9-3 10:07 | 只看該作者
沒有你 發表于 2021-9-2 11:39
用idf.py build指令可以編譯通過嗎?

我移植的是lvgl8.0,D:\QT\屏幕截圖 2021-09-03 095904.jpg可以build
回復

使用道具 舉報

5#
ID:964411 發表于 2021-9-6 17:05 | 只看該作者
這個操作,怎么不能調出LVGL本身的 配置UI呢
回復

使用道具 舉報

6#
ID:351097 發表于 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
回復

使用道具 舉報

7#
ID:232306 發表于 2021-9-8 18:56 | 只看該作者
感謝樓主分享,正需要這個!給樓主點贊!!!
回復

使用道具 舉報

8#
ID:583419 發表于 2021-9-9 17:28 | 只看該作者
非常棒!!沒有esp32s2,請問一下用ESP32可以么?
回復

使用道具 舉報

9#
ID:351097 發表于 2021-9-11 16:12 | 只看該作者
MilkPower 發表于 2021-9-9 17:28
非常棒!!沒有esp32s2,請問一下用ESP32可以么?

應該也是支持的,可以試試
回復

使用道具 舉報

10#
ID:583419 發表于 2021-9-16 15:46 | 只看該作者
我這里也用了正點原子的4.3電容屏,然后踩了個大坑。gt9147觸摸IC停產,現在的已經換成GT1151Q,讀觸摸的產品ID是1158。弄了幾天,差點否定自我。。。等我換好觸摸驅動再來支持~
回復

使用道具 舉報

11#
ID:382555 發表于 2021-10-22 10:18 | 只看該作者
你好 如果用其他屏幕驅動改怎么添加 比例我用的是ILI9488
回復

使用道具 舉報

12#
ID:849376 發表于 2022-4-20 13:08 | 只看該作者
喬峰gao 發表于 2021-10-22 10:18
你好 如果用其他屏幕驅動改怎么添加 比例我用的是ILI9488

我也想問這個
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产免费一区二区 | 国产精品一区二区三区在线 | 一区二区三区国产精品 | 午夜精品| 精品国产1区2区3区 在线国产视频 | 成人一级黄色毛片 | 久久久免费少妇高潮毛片 | 亚洲第一福利网 | 99在线观看视频 | 国产一区二区电影 | 男人的天堂久久 | 最新黄色在线观看 | 久久久久久久久久久久91 | 天堂中文av | 日韩av网址在线观看 | 国产精品一区二区无线 | 欧美不卡一区二区三区 | 美国av片在线观看 | 亚洲天天干 | 国产日韩一区二区 | 狠狠操天天操 | 欧美一级二级三级 | www.久 | 欧美最猛性xxxxx亚洲精品 | 久草视| 91在线视频在线观看 | 欧美一级大黄 | 亚洲一区二区三区四区五区中文 | 99精品视频一区二区三区 | 中文字幕av网站 | aaa综合国产| 色婷婷一区二区三区四区 | 91性高湖久久久久久久久_久久99 | 国产黄色一级电影 | 韩国欧洲一级毛片 | 欧美激情欧美激情在线五月 | 欧美一级欧美三级在线观看 | 91精品国产91久久综合桃花 | 国产精品无码久久久久 | 欧美精品一区在线发布 | 黑人巨大精品欧美一区二区免费 |