首页 > 其他分享 >【esp32 学习笔记】将lvgl融入esp-idf项目中

【esp32 学习笔记】将lvgl融入esp-idf项目中

时间:2024-07-02 21:19:50浏览次数:1  
标签:esp esp32 while next lv unlock idf lvgl image

lvgl科普

lvgl 主要特点:

Github库整体了解

版本号编排原则

屏幕兼容性

LVGL  问题处理:

 

lvgl 与 FreeRTOS

由于esp-idf本身带了 FreeRTOS系统,因此需要关注一下操作系统相关的内容:

void lvgl_thread(void)
{
    while(1) {
        uint32_t time_till_next;
        time_till_next = lv_timer_handler(); /*lv_lock/lv_unlock is called internally*/
        thread_sleep(time_till_next); /* sleep for a while */
    }
}

void other_thread(void)
{
    /* You must always hold the mutex while using LVGL APIs */
    lv_lock();
    lv_obj_t *img = lv_image_create(lv_screen_active());
    lv_unlock();

    while(1) {
        lv_lock();
        /* change to the next image */
        lv_image_set_src(img, next_image);
        lv_unlock();
        thread_sleep(2000);
    }
}

以上的内容,总结一下:

1. 如果要用到操作系统,LV_USE_OS宏定义应该被设置。

2. 每当在其他线程(不是 lv_timer_handler() 函数所在的线程 )使用lvgl函数的时候,在其之前使用 lv_lock() lv_unlock() 两个函数

标签:esp,esp32,while,next,lv,unlock,idf,lvgl,image
From: https://www.cnblogs.com/FBsharl/p/18280565

相关文章

  • 使用nodejs ws模块连接websocket服务器Unexpected response code: 403错误解决
    使用浏览器连接websocket服务器时一切正常,但是使用nodejs ws模块连接时一直报Unexpectedresponsecode:403错误,查了很多帖子都没说明白,最后自己试着一点一点对比模拟浏览器请求头,最终解决问题,解决后代码如下://TODO不加这个,会报403错误constoptions={headers:{......
  • ESP32-点亮TFT2.4电阻触摸屏 学习笔记
    1、下载好arduinoIDE开发软件IDE(IntegratedDevelopmentEnvironment),译为集成开发环境,相当于编辑器编译器加连接器+其他。ArduinoIDE就是Arduino团队提供的一款专门为Arduino设计的编程软件,使用它,我们便能将程序从代码上传至Arduino主板。去官网下载:Software|Arduino,也......
  • ros - Adafruit ESP32 Feather与树莓派(Raspberry Pi)比较
    AdafruitESP32Feather和树莓派(RaspberryPi)都是广泛使用的硬件平台,分别在嵌入式系统和单板计算机领域具有各自的优势。以下是它们的详细比较,以及它们对机器人操作系统(ROS)的支持程度的分析。1.基本特性比较AdafruitESP32Feather核心处理器:双核XtensaLX6(最高240MHz)。......
  • GESP 202406 四级认证 T1 题解
    大意:一个只包含000和111的矩形,边长为......
  • Gradle Core Plugins (plugin is not in ‘org.gradle‘ namespace)
    记录一个由gradle构建项目遇到的问题:起因:项目原先运行正常,不过个人移动了工程的目录位置,导致出现以下错误GradleCorePlugins(pluginisnotin'org.gradle'namespace)-PluginRepositories(couldnotresolvepluginartifact'com.android.application:com.androi......
  • 【ESP32】打造全网最强esp-idf基础教程——13.ESP32中的NVS
    ESP32中的NVS    这几天的天气只有钱包的余额能让我冷静,好好活着,每天都有新的打击,写写博客压压惊。一、什么是NVS?    NVS即Non-volatilestorage,意思是非易失存储,也就是掉电后能依然能持久化保存数据。在我们应用NVS时,一般用于存储一些配置数据、状态数据等,一......
  • MQTT + 微信小程序:打造你的掌上ESP32智能鱼缸,远程监控,实时掌控
    一、项目概述厌倦了传统鱼缸的繁琐管理?想要随时随地了解鱼儿的生活状态?本项目将带你使用ESP32开发板、MQTT通信协议和微信小程序,打造一个功能完善的智能鱼缸系统。实时监测水温、远程控制灯光、定时定量喂食……一切尽在掌握!二、系统架构本系统采用典型的物联网架构,......
  • 通过ESP32读取I2C温湿度传感器项目:协议与代码实例
    简介在本项目中,我们将使用ESP32开发板读取I2C温湿度传感器的数据。我们将详细介绍I2C协议,并提供图文并茂的代码实例,帮助你快速上手。项目流程选择硬件:ESP32开发板、I2C温湿度传感器(如DHT12、HTU21D、SHT30等)、连接线和面包板。了解I2C协议:I2C(Inter-IntegratedCircuit)是......
  • Python+ESP嵌入式开发快速上手
    环境搭建MicroPython介绍MicroPython是一种精简版的Python编程语言,专门设计用于嵌入式系统和物联网(IoT)开发。它提供了一个Python3的子集,适用于资源受限的微控制器和单片机环境。MicroPython允许开发人员使用Python的简洁语法和强大功能来编写嵌入式系统的代码。以下是......
  • HDU-4281 Judges' response(2012 ACM/ICPC Asia Regional Tianjin Online)
    HDU-4281Judges'response(2012ACM/ICPCAsiaRegionalTianjinOnline)状态压缩+01背包+区间dp题意:有n个地点,第一个地点是裁判位置,其他n-1个地点是选手的位置。裁判要给选手解决问题,每个选手都有一个时间表示解决这个选手问题所需要的时间。同样的,裁判也有一个时间,表示这......