vscode+ESP-IDF:编译网友移植好的LVGL工程(ESP32+ili9341+xpt2046笔记)
在某宝淘了一个2.8寸TFTLCD,驱动为ili9341+xpt2046,到手后,肯定是先找现成的代码试试显示。
找到了一篇文章,决定就照这个来:
1.作者:据说这是zzy,《 ESP32 LVG_L7最快移植攻略》。
2.作者的源码: 点我去gitee。
1.下载源码
解压:
把文件夹LVGL_TEST下面3个文件夹删除,vscode会根据我们的esp-idf安装路径重新生产:
在esp-idf安装目录下《esp-idf/example》,新建一个文件夹 lcd (名字随便起,自己喜欢),拷贝文件夹 LVGL_TEST到这里:
2.创建工程
在命令面板打开example:
找到刚才的文件夹,几点创建新工程到用户目录:
3.配置工程
驱动芯片由原来的ST7735S改为ili9341:
根据情况配置引脚,我是飞线连接,所以就使用原来的配置,我根据这个来飞线:
保存配置,根据作者的介绍,还要改一下分辨率,原来是160 x 80,改成我的320 x 240:
保存,编译,烧录,一次成功,滚动显示两行字符(到目前为止,几乎一行代码都没有编写):
This is a GUI thread yes
This is the Intetnet thread
源代码还没有阅读。
3. xpt2046测试
原工程没有使能触摸功能,我这个LCD是有触摸的,在配置中使能,SPI引脚和LCD复用,片选CS分开,增加GPIO外部中断:
我这个LCD的触摸坐标不用任何处理,这里的配置全部不勾选:
测试点击坐标,通过点击4个边角,目测还挺准的:
I (13164) XPT2046: P(4480,3664)
I (13164) XPT2046: P_norm(280,229)
I (13164) XPT2046: x = 15, y = 14
I (13194) XPT2046: P(4352,3432)
I (13194) XPT2046: P_norm(272,214)
I (13194) XPT2046: x = 14, y = 13
--------------------------------------
I (19964) XPT2046: P(29856,2768)
I (19964) XPT2046: P_norm(1866,173)
I (19964) XPT2046: x = 313, y = 7
I (19994) XPT2046: P(30200,2584)
I (19994) XPT2046: P_norm(1887,161)
I (19994) XPT2046: x = 315, y = 6
----------------------------------------
I (22564) XPT2046: P(3912,29456)
I (22564) XPT2046: P_norm(244,1841)
I (22564) XPT2046: x = 8, y = 232
I (22594) XPT2046: P(3872,30016)
I (22594) XPT2046: P_norm(242,1876)
I (22594) XPT2046: x = 7, y = 234
----------------------------------------
I (25344) XPT2046: P(29568,28984)
I (25344) XPT2046: P_norm(1848,1811)
I (25344) XPT2046: x = 310, y = 228
I (25374) XPT2046: P(30488,30136)
I (25374) XPT2046: P_norm(1905,1883)
I (25374) XPT2046: x = 315, y = 232
接下来用visual studio 2022模拟LCD来学习LVGL。请看下一篇文章:
《LVGL笔记(1):vs2022仿真lv_example_get_started_1》。