本地软件版本说明
使用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

被折叠的 条评论
为什么被折叠?



