idf lvgl8显示触摸移植,st7789v+cst816

这篇具有很好参考价值的文章主要介绍了idf lvgl8显示触摸移植,st7789v+cst816。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

用到的所有文件链接
我整理的lvgl文件:https://gitee.com/BHJ2022/lvgl.git
gsm项目地址:https://gitee.com/gsm-wheather-project

零、准备工作

解压lvgl_disp_indev和gsm项目文件

1)将gsm中的屏幕及触摸驱动(touch_screen文件夹)直接复制到lvgl_disp_indev的component文件中

2)修改touch_screen的cmakelist如图

idf lvgl8显示触摸移植,st7789v+cst816

3)将gsm中的main中的include直接复制到lvgl_disp_indev的main文件中。包含main.h(头文件和函数声明)和bsp_board(管脚定义)

4)修改main的cmakelist如图
idf lvgl8显示触摸移植,st7789v+cst816

]

前期准备工作完毕

一、移植屏幕驱动

1、屏幕驱动修改添加背光(原工程使用的PMW,这里直接设置为高电平)——led.c

在 lcd_init()中添加,

idf lvgl8显示触摸移植,st7789v+cst816

idf lvgl8显示触摸移植,st7789v+cst816

2、lvgl接口修改

文件名

idf lvgl8显示触摸移植,st7789v+cst816

注释或删除lvgl_helper.h(esp32的驱动头文件),直接删除esp32Driver文件夹

添加屏幕长宽声明
idf lvgl8显示触摸移植,st7789v+cst816

屏幕显示初始化disp_init();
idf lvgl8显示触摸移植,st7789v+cst816

在函数中添加屏幕的初始化,或者直接将disp_init()改为lcd_init(SPI3_HOST, 80000000);

idf lvgl8显示触摸移植,st7789v+cst816

添加刷屏函数

双缓存模式,将【】中的数据改为图示

idf lvgl8显示触摸移植,st7789v+cst816

设置屏幕尺寸,前文定义的

idf lvgl8显示触摸移植,st7789v+cst816

设置刷屏回调函数

idf lvgl8显示触摸移植,st7789v+cst816

刷屏函数,调用的屏幕驱动中的函数lcd_flush_area()

idf lvgl8显示触摸移植,st7789v+cst816

完成以上步骤屏幕就应该可以正常显示了

二、移植触摸驱动

触摸芯片型号:cst816t

1、修改cst816.c,添加i2c初始化函数

idf lvgl8显示触摸移植,st7789v+cst816

2、在cst816t_init()初始化函数中调用

idf lvgl8显示触摸移植,st7789v+cst816

3、可以在cst816t_read_pos()中添加如图语句,可以检查触摸是否正常

idf lvgl8显示触摸移植,st7789v+cst816

串口输出

idf lvgl8显示触摸移植,st7789v+cst816

4、lvgl_disp_indev修改,修改touchpad_init();添加indev_drv.read_cb = touchpad_read;

1)打开touchpad(改为if1),如果没有其他输入设备需求,可以关闭mouse和encoder(改为if 0)
idf lvgl8显示触摸移植,st7789v+cst816

2)修改touchpad_init();添加触摸驱动初始化

idf lvgl8显示触摸移植,st7789v+cst816

3、修改 touchpad_read()如图,即图一中的回调函数,获取触摸位置坐标

idf lvgl8显示触摸移植,st7789v+cst816

三、编译常见错误

1)头文件不存在

由于直接复制的gsm文件,会有许多不存在的头文件,直接注释或删除即可。用到的头文件只有bsp_board.h;main.h;lcd.h:cst816t.h

在main.h()中可以有这些头文件

idf lvgl8显示触摸移植,st7789v+cst816

2)根据报错提示,适当添加头文件包含,记得修改cmakelist

四、lvgl demo使用

1、打开menuconfig,打开demo选项

idf lvgl8显示触摸移植,st7789v+cst816

直接搜索demo,根据需要打开demo。

idf lvgl8显示触摸移植,st7789v+cst816

其中widget大概率会报size不够,没有就直接忽略。修改图示size为48或者其他推荐大小

idf lvgl8显示触摸移植,st7789v+cst816

2、demo调用

1)跳转到图示头文件

idf lvgl8显示触摸移植,st7789v+cst816

2)根据打开的demo,继续跳转

idf lvgl8显示触摸移植,st7789v+cst816

3)找到目标函数,在lvgl_main中调用即可

idf lvgl8显示触摸移植,st7789v+cst816

idf lvgl8显示触摸移植,st7789v+cst816

idf lvgl8显示触摸移植,st7789v+cst816

idf lvgl8显示触摸移植,st7789v+cst816

idf lvgl8显示触摸移植,st7789v+cst816文章来源地址https://www.toymoban.com/news/detail-467595.html

idf lvgl8显示触摸移植,st7789v+cst816

到了这里,关于idf lvgl8显示触摸移植,st7789v+cst816的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

原文地址:https://blog.csdn.net/HandBAI/article/details/128066030

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32移植LVGL8.0.2超详细的保姆级教程附移植好的工程文件

    网上教程那么多,为什么你要写这个教程? 问的好,csnd上很多类似的教程,他们写的都很好,但是有些过于简洁,对刚上手的小伙伴不太友好,移植到一半遇到bug就想放弃。一些第三方的教程很详细,但是由于lvgl的版本迭代很快,移植的过程有了一些变化,所谓失之毫厘差

    2024年02月03日
    浏览(9)
  • 【开源&ESP32谷歌恐龙小游戏】【游戏演示和介绍】LVGL ST7789 适用于Arduino

      【源码及教程地址 - 持续更新】 ESP32 C3 LVGL 迷你小电视 Google谷歌恐龙小游戏 1.9寸LCD显示屏开发板 ST7789 适用于Arduino开发板,教程,资料,程序,代码,PDF手册 【开源 ESP32谷歌恐龙小游戏】【游戏演示和介绍】LVGL ST7789 适用于Arduin

    2024年02月10日
    浏览(8)
  • 国民技术N32G45X移植LVGL8.3+ILI9488

    使用的是自制的一块控制板,主控选用的是国民技术的N32G452VEL7芯片,屏幕大小为3.5寸,驱动型号为ILI9488。 从GitHub中获取LVGL码源: GitHub - lvgl/lvgl at release/v8.3 按照下边图示(步骤1-5)选择V8.3版本并进行下载 打开下载好的LVGL-V8.3文件夹,移植LVGL主要就是操作下边这四份文件(/文

    2024年01月16日
    浏览(10)
  • stm32f407移植LVGL8.3.1实况(所有bug调试现场,最终成功点灯)

    声明: 本文主要参考 stm32移植lvgl_NULL_1969的博客-CSDN博客_lvgl stm32 及 STM32移植LVGL8.0.2超详细的保姆级教程附移植好的工程文件 ,底层驱动主要采用正点原子触摸屏实验和定时器实验 1.1 主要硬件接口 1.1.1 触摸屏 主要需要触摸屏来实现屏幕的显示及触摸。 触摸屏需要底层的接

    2024年01月16日
    浏览(11)
  • linux驱动开发 ST7789 LCD驱动移植(I.MX6ULL平台)

    前言 I.MX6ULL的板子未选配RGB的屏幕,无法在板子上进行GUI的开发调试,不过手头上有块控制器为ST7789V3的LCD屏幕(1.3inch),通过简易接线后可以很方便进行驱动的移植 如有异议,欢迎留言指正 ST7789 LCD控制器 ST7789是一款单芯片TFT-LCD控制器,支持并口与SPI通信方式 特性 控制器支

    2023年04月09日
    浏览(11)
  • LVGL触摸移植——stm32野火F103

    目录 系列文章目录 章目录 目标 一、认识端口文件 二、使能 lv_port_indev.c  三、接口函数 1.输入设备初始化 四、Main函数 五、过程中的疑难杂症 1.内存不足 2、LCD白屏 五、效果 总结 在显示的基础上添加触摸输入 提示:以下是本篇文章正文内容,下面案例可供参考 这两个是

    2024年02月11日
    浏览(10)
  • ESP32C3 移植ST7735 LVGL

    关于lvgl LVGL是一个C语言编写的免费的开源图形库,其提供了用于嵌入式GUI的各种元素。用户可以利用丰富的图形库资源,在消耗极低内存的情况下构建视觉效果丰富多彩的GUI 。只需 64kB 闪存和 8kB RAM 就足以满足简单的用户界面。LVGL 可以驱动单色OLED、TFT 显示器、监视器或任

    2023年04月24日
    浏览(15)
  • ESP8266+TFT显示屏(ST7789 240*240)

    2024年02月06日
    浏览(8)
  • stm32驱动st7789 TFT-LCD屏幕显示

    一切程序以最后百度网盘链接的程序为准,可能在写文章的时候有些地方有改动。 主控:STM32F103C8T6 1.69 TFT-LCD(st7789驱动) 1.1接线说明 1.2硬件初始化 TFT-LCD是采用SPI通信的,这里使用stm32f103c8t6的SPI1,初始化代码如下 1.3驱动初始化 在原有的驱动基础上增加了几个宏去控制显

    2024年02月16日
    浏览(17)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包