esp-idf 移植 lvgl8.3.3

一、准备材料

  1. 开发板:esp32s3
  2. idf版本:4.4.2
  3. lvgl:8.3.3
注意:lvgl不要选择master分支 , 编译失败时不好确定问题 。
二、创建idf项目方式一通过 VSCode 创建项目
  1. 在命令面板中搜索 esp-idf new , 开始创建项目
    esp-idf 移植 lvgl8.3.3

    文章插图
  2. 项目配置信息
    esp-idf 移植 lvgl8.3.3

    文章插图
  3. 选择需要的模板 , 也可以选择想要的案例
    esp-idf 移植 lvgl8.3.3

    文章插图
注意: 需要VSCode 中安装 idf 环境的可以看我之前的笔记VSCode 中安装 esp-idf
方式二通过命令创建项目
idf.py create-project方式三直接在路径 %ESP-IDF%\espressif\frameworks\esp-idf-v4.4.2\examples 中拷贝自己需要的使用案例
三、添加LVGL库
  1. 下载lvgl8.3.3GitHub:https://github.com/lvgl/lvgl.git
  2. 将lvgl库添加到项目的 components 文件中 , 如下图所示
    esp-idf 移植 lvgl8.3.3

    文章插图
    ** 注意 , 如果觉得文件比较多的话 , 可以删除不用的文件 , 如下图所示:
    esp-idf 移植 lvgl8.3.3

    文章插图
  3. lv_conf_template.h 重命名为 lv_conf_.h  , 并将文件中的 #if 0 改为 #if 1
    esp-idf 移植 lvgl8.3.3

    文章插图
  4. 设置开发板为esp32s3
    esp-idf 移植 lvgl8.3.3

    文章插图
  5. 编译
    esp-idf 移植 lvgl8.3.3

    文章插图
    ** 注意:**如果出现编译错误时 , 检查一下自己是否下载成了master分支
四、添加显示驱动
  1. 下载lvgl_esp32_driversGitHub:https://github.com/lvgl/lvgl_esp32_drivers
  2. 使用命令 idf.py menuconfig 打开图形配置界面
    esp-idf 移植 lvgl8.3.3

    文章插图
  3. 进入 Component config → LVGL ESP Drivers → LVGL TFT Display controller 配置显示驱动信息
    esp-idf 移植 lvgl8.3.3

    文章插图
  4. SPI引脚配置
    esp-idf 移植 lvgl8.3.3

    文章插图
  5. 进入 Component config → LVGL configguration 配置LVGL信息
    esp-idf 移植 lvgl8.3.3

    文章插图
  6. 按s键进行保存 , 完成后按Q退出
    esp-idf 移植 lvgl8.3.3

    文章插图
    esp-idf 移植 lvgl8.3.3

    文章插图
  7. 配置屏幕信息和SPI通道数量编译后会产生以下错误 , 如果所示未定义显示器的像素宽度和高度
    esp-idf 移植 lvgl8.3.3

    文章插图
    未定义开发板 SPI 的通道数量
    esp-idf 移植 lvgl8.3.3

    文章插图
    只需要在文件 lvgl_helpers.h 中添加以下定义即可 , 如图所示
    #define SPI_HOST_MAX 3                  // 开发板 SPI 通道数量#define LV_HOR_RES_MAX 240              // 显示器水平像素#define LV_VER_RES_MAX 320              // 显示器垂直像素

    经验总结扩展阅读