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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9635|回復: 11
收起左側

ESP32-S2驅動4.3寸屏幕顯示littleVGL例程

  [復制鏈接]
ID:351097 發表于 2021-8-29 17:55 | 顯示全部樓層 |閱讀模式
本帖最后由 沒有你 于 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。
屏幕配置.PNG
在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
燒錄結果.PNG
實物.jpg

esp32s2.7z

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

評分

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

查看全部評分

回復

使用道具 舉報

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
回復

使用道具 舉報

ID:964411 發表于 2021-9-6 17:05 | 顯示全部樓層
這個操作,怎么不能調出LVGL本身的 配置UI呢
回復

使用道具 舉報

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
回復

使用道具 舉報

ID:232306 發表于 2021-9-8 18:56 | 顯示全部樓層
感謝樓主分享,正需要這個!給樓主點贊!!!
回復

使用道具 舉報

ID:583419 發表于 2021-9-9 17:28 | 顯示全部樓層
非常棒!!沒有esp32s2,請問一下用ESP32可以么?
回復

使用道具 舉報

ID:351097 發表于 2021-9-11 16:12 | 顯示全部樓層
MilkPower 發表于 2021-9-9 17:28
非常棒!!沒有esp32s2,請問一下用ESP32可以么?

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

使用道具 舉報

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

使用道具 舉報

ID:382555 發表于 2021-10-22 10:18 | 顯示全部樓層
你好 如果用其他屏幕驅動改怎么添加 比例我用的是ILI9488
回復

使用道具 舉報

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区在线观看 | 欧美日韩在线一区二区三区 | 日韩视频精品在线 | 国产精品久久久久久久免费大片 | 国产欧美一区二区三区国产幕精品 | 久久久久久99 | 在线看av网址 | 国产精品99久久久久久www | 精品国产乱码久久久久久闺蜜 | 国产精品18久久久 | 成人在线视频一区 | 精品综合 | 国产成人午夜精品影院游乐网 | 精品成人| 午夜免费视频 | 韩日一区二区 | 成人免费视频网站在线看 | 欧美黄色片 | 午夜视频一区二区 | 国产亚洲一区二区三区在线 | 国产丝袜av | 久久久久av| 国产999精品久久久久久绿帽 | 国产夜恋视频在线观看 | 手机在线不卡av | 亚洲欧洲小视频 | 国产精品久久国产精品99 | 一区二区三区国产 | 操久久| 亚洲精品高清视频在线观看 | 九九热在线视频观看这里只有精品 | 99福利视频 | 高清成人免费视频 | 国产欧美日韩一区二区三区在线观看 | 欧美日韩国产精品一区 | 天天欧美 | 亚洲天天干 |