ESP32-SR2432S028R DEMO ESP IDF版本 LVGL移植记录(1) -- LCD和TOUCH project的编译移植记录

本地软件版本说明

使用esp idf v5.3.1

LCD说明

商家提供的资料,LCD屏幕驱动以及接线如下

屏幕规格2.8寸 240x320
驱动 ILI9341V SPI通信
PIN_NUM_MISO	12
PIN_NUM_MOSI	13
PIN_NUM_CLK		14
PIN_NUM_CS		15
PIN_NUM_DC		2
PIN_NUM_RST		-1
PIN_NUM_BCKL	21

TOUCH接口说明

商家提供的资料,触屏驱动以及接线如下

驱动 xpt2046
XPT2046_IRQ 36
XPT2046_MOSI 32
XPT2046_MISO 39
XPT2046_CLK 25
XPT2046_CS 33

LCD和TOUCH移植说明

相关教程网上有很多,我这边只记录移植商家提供的Demo

1.修改main文件夹下cmakelist.txt为如下内容(esp32 cmakelist相关知识另外找教程看吧)

idf_component_register(
    SRCS "app_main.c"          # 主程序源文件
    INCLUDE_DIRS "."           # 主程序自身的头文件目录
    REQUIRES 
        LCD           # 依赖lcd组件(components/lcd)
        GUI           # 依赖gui组件(components/gui)
        XPT2046       # 依赖XPT2046组件(没有用到的话可以删除)
)

2.修改component文件夹下GUI组件cmakelist.txt为如下内容

# 1. 声明组件依赖
set(COMPONENT_REQUIRES 
    LCD         # 依赖自定义LCD组件(核心!缺失会找不到lcd.h)
    driver      # 依赖ESP-IDF内置驱动组件(按需保留,若不用可删除)
)

# 2. 定义源文件
set(COMPONENT_SRCS "GUI.c")

# 3. 头文件包含目录
set(COMPONENT_ADD_INCLUDEDIRS
    "."       # 根目录头文件路径
    "include" # include子目录路径(无则删除此行)
)

# 4. 注册组件
register_component()

3.同理修改component文件夹下LCD组件cmakelist.txt为如下内容

# 1. 声明组件依赖
set(COMPONENT_REQUIRES driver)

# 2. 定义源文件
set(COMPONENT_SRCS "LCD.c")

# 3. 头文件包含目录(规范写法:列表形式,而非空格分隔)
set(COMPONENT_ADD_INCLUDEDIRS
    "."       # 根目录
    "include"
)

# 4. 注册组件
register_component()

4.同理修改component文件夹下XPT2046组件cmakelist.txt为如下内容

# ESP-IDF 5.3.1 XPT2046触摸组件标准配置
# 1. 声明组件依赖(必加!XPT2046依赖SPI/GPIO驱动,需关联driver组件)
# - driver:ESP-IDF内置外设驱动(SPI/GPIO核心依赖,缺失必报错)
# - lcd:可选,若XPT2046与LCD联动(如触摸坐标映射到LCD),需添加
set(COMPONENT_REQUIRES 
    driver      # 核心依赖:SPI/GPIO驱动(XPT2046必须)
    LCD       # 可选:若触摸坐标需映射到LCD,取消注释并依赖lcd组件
)

# 2. 定义源文件(文件名大小写必须与实际文件完全一致)
# 确认实际文件是xpt2046.c(小写),若为XPT2046.c需改为"XPT2046.c"
set(COMPONENT_SRCS "xpt2046.c")

# 3. 头文件包含目录(规范写法:列表形式,替代空格分隔)
# ".":xpt2046组件根目录(如xpt2046.h);"include":子目录(若无则删除)
set(COMPONENT_ADD_INCLUDEDIRS
    "."       # 根目录头文件路径
    "include" # include子目录路径(无此目录则删除此行)
)

# 4. 注册组件(必须放在最后一行,ESP-IDF核心宏)
register_component()

5.除上面之外,编译文件中还存在一些接口兼容性问题,比较简单,统一记录

a) Init_LCD中需要将
vTaskDelay(100 / portTICK_RATE_MS)修改为
vTaskDelay(pdMS_TO_TICKS(100))
b)xpt2046.c中的gpio_pad_select_gpio替换为esp_rom_gpio_pad_select_gpio
)xpt2046.c中的gpio_pad_select_gpio替换为esp_rom_gpio_pad_select_gpio

csdn(不确定后续是否会给我设置成收费):https://download.youkuaiyun.com/download/stuinxdu/92458116

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值