简介

本文基于VScode上安装platform插件(简称PIO)来开发ESP32,屏幕显示使用LVGL+gui_guider。
关于VScode上使用platfrom也是一把辛酸泪。很多朋友会安装不成功,主要就是“网络原因”。这个得自己百度解决。
LVGL是一款轻量化的屏幕驱动,原本写gui界面需要代码一个个去画点描绘,使用LVGL可以简化界面绘制的工作量,可以使用它带的图形和按键事件定义,来绘制一个界面,具体可以看LVGL的官网。总结来说就是用LVGL可以简化你开发的难度,但是界面绘制只能你一遍一遍的下载程序去看,或者跑模拟器,太繁琐,于是。。
gui_guider诞生
这个是NXP公司出的一个可以gui界面绘制,仿真,代码生成的软件,可以大大简化界面开发的流程。

结合

1、首先要在PIO环境下,安装TFT_eSPI库,具体方法就是在PIO的主页上选择libraries中搜索TFT_eSPI,并Add到你相应的工程中。
可以参考
添加TFT_eSPI
测试运行通过后,开始下一步
2、运行LVGL
添加LVGL,也是在在Platform主页的libraries中搜索LVGL,添加到工程中。
驱动的方式可以参考下文连接,但是不用做1,2条,因为可以直接添加LGVL到工程中,我已经尝试成功。
添加LVGL
测试运行可以显示你定义的界面后,开始下一步
3、结合gui_guider
首先是下载gui_guider,然后创建工程,生成代码。这个教程网上很多。
生成代码后,会在工程目录下有custom,和generated。这个是我们需要移植的文件,此外还需要lv_font.h,这个文件在第2步添加的lvgl/src/front文件夹下。

移植的过程就是添加这些文件到 PIO工程下,但是需要主要这个添加是有点不同的,
我是参考下面的链接来做的,具体就是首先在pio工程目录下找到lib文件,在lib文件夹下建立一个文件,我这边取名为BLTGUI,然后复制custom,和generated这两个文件夹到BLTGUI文件夹下,然后在BLTGUI文件下建立一个library.json文件,这个文件就是用来让PIO找到你添加的文件,然后添加到工程中进行编译。代码如下

{"name": "BLTGUI","keywords": "bltgui","description": "bltgui des","version": "1.0","authors": {"name": "lb"},"licence": "MIT","frameworks": "arduino","platforms": "espressif32","build" : {"unflags": "-std=gnu++11","flags": ["-std=c99","-I ../../.pio/libdeps/esp32doit-devkit-v1/lvgl/src/font","-I custom","-I generated","-I generated/guider_customer_fonts","-I generated/guider_fonts","-I generated/images"],"srcFilter": ["+<*.c>","+<custom/*.c>","+<generated/*.c>","+<generated/guider_customer_fonts/*.c>","+<generated/guider_fonts/*.c>","+<generated/images/*.c>"]}}

需要注意,上面我们提到还需要lv_font.h文件,在上面的json文件中有这么一句,“-I …/…/.pio/libdeps/esp32doit-devkit-v1/lvgl/src/font”, 这句就是添加lv_font.h文件,具体的路径名称可能有所不同,根据实际情况进行修改。
gui guider生成的代码无人工修改移植esp32 实现拖曳式傻瓜生成嵌入式图形界面 及platform include 路径踩坑记

编译

第一次编译会产生错误,比如fatal error: lvgl/lvgl.h: No such file or directory,提示找不到LVGL的路径。这个是由于我的LVGL的库的lvgl.h的路径和程序中的不一致,所以需要修改。
把 #include “lvgl/lvgl.h” 改成#include “lvgl.h” 需要注意是有好几处。
修改后应该会编译通过。

ESP32+PIO+LGVL+gui_guider相关推荐

  1. ESP32+PIO+LGVL+gui_guider之【BUTTON实体按键】

    LVGL的Button外部按键 这个Button是没有触摸屏的情况下用外部的按键来对应屏幕上的按键,比如屏幕上有个确定键,你按下外部某个按键,屏幕的确定键也相应显示按下. 工作原理其实就是LVGL把外 ...

  2. 龙邱MPU9250传感器 | 使用ESP32 模块进行测试

    简 介: 利用ESP32 MicroPython对于来自于龙邱的MPU9250进行初步测试. 关键词: MPU9250,I2C,ESP32,软件I2C #mermaid-svg-fMBqdJ8sCAu ...

  3. 使用VScode开发ESP32,PlatformIO开发ESP32

    arduino IDE安装开发板库 安装arduino IDE 首先下载arduino IDE并安装.在官网下载即可.如果官网下载慢,可以找第三方资源下载. 下载开发板库 安装后进入"文件& ...

  4. CLion上用platformIO开发esp32,CLion开发esp32详细配置流程

    太爱Jetbrains了!!! 上次用烦了keil写stm32,Clion马上给俺整了个2019.1更新,直接整合了stm32CubeMX,从此抛弃keil. 最近毕设选择了用esp32,然后用pla ...

  5. 《ESP32》Adafruit_GFX、u8g2驱动ssd1306

    本示例将使用ESP32驱动ssd1306,将为你介绍SSD1306,接线方式以及如何使用Adafruit_GFX.u8g2两种模式进行开发SSD1306. 本人踩坑了半天,发现Adafruit_SSD ...

  6. ESP32 入门笔记01:乐鑫ESP32-DevKitC开发板信息、开发环境搭建以及学资料准备

    文章目录 一.ESP32-DevKitC 开发板介绍 二.ESP32 开发环境 1. Arduino IDE 1.1 开发环境搭建步骤 1.2 实验:使用 Arduino IDE 将代码上传到 ESP ...

  7. ESP32:使用TFT_eSPI库驱动TFT串口屏

    目录 实验条件 软件部分 TFT_eSPI库的安装 配置文件 硬件部分 esp32 LCD串口屏 接线方式 实验部分 参考文章 本文使用 esp32结合 TFT_eSPI库点亮了一块 ILI9341驱 ...

  8. patformio安装esp32环境的另一种方法

    关于platformio配置esp32环境 第一种方法我选择的是直接在初始化文件里改,让pio核心自己下载 但是这种方案实在是太慢了=.=,我下了一个晚上还没能结束. 所以我查了platformio的 ...

  9. ESP32作为服务器,使用网页控制LED小灯

    ESP32作为服务器,使用网页控制LED小灯 项目描述 ESP32-S开发板加入局域网,使用platformIO编写好ESP32的代码后,编译下载到ESP32中,访问ESP32的IP地址,使用网页控制 ...

最新文章

  1. 全球500强案例精选,带你了解人工智能在金融行业如何落地
  2. vue element 框架 自定义轮播图,点击上下翻图,并让图片居中
  3. 对图片对比度和亮度的理解
  4. 使用While循环语句值得注意的事
  5. Google Maps API 进级: GoogleMaps常用事件及应用思路1
  6. 飞康CEO:敢于向传统的灾备法则说“不”
  7. 我的世界服务器自定义代码,《我的世界》服务器指令代码秘籍大全
  8. mysql5.5创建学生情况表_数据库中创建一个学生表
  9. fastjson list转json
  10. 基于SSH的宠物管理系统(宠物商店)
  11. 天空盒(SkyBox)的实现原理与细节
  12. java 地心坐标系(ECEF)和WGS-84坐标系(WGS84)互转
  13. 俄勒冈州立大学计算机科学专业,俄勒冈州立大学电气工程与计算机科学专业介绍在这里哦!...
  14. 机器学习入门概念--心血总结--史上最强--入门必读--回味无穷
  15. WEB CTF入门题解析
  16. 洛谷 P1007 独木桥
  17. 质量保证QA与质量控制QC
  18. XDM、GDM和KDM
  19. 字体的报警 Font shape `TU/ptm/m/n‘ undefined(Font) using `TU/lmr/m/n‘ instead
  20. 【论文翻译】Cluster Contrast for Unsupervised Person Re-Identification(2021)

热门文章

  1. 一键端服务器维护,游戏服务器一键端
  2. React的核心概念—— Jsx、 Component、 Props、 Refs、 State
  3. 稳压二极管工作在什么区域?稳压二极管VRWM和VBR是什么?
  4. win 10 安装visual studio 2010
  5. 2019年9月19日好货十元内精选包邮
  6. MP4 全介绍【转载】
  7. 5G,上天了!卫星和基站擦出了火花?
  8. 【电脑技巧】设置电脑永不休眠
  9. 使用当前主流的github管理项目代码(记我的第一次项目创建)
  10. 已知每个部门有一个经理,统计输出部门名称、部门总人数、 总工资和部门经理。