ESP32-LVGL 开发笔记(三):性能监控

news/2025/12/1 20:38:32/文章来源:https://www.cnblogs.com/sleepypuffer/p/19294627

目标

这一次的任务就比较简单了😚,目标只有一个🤓🤓,那就是

  • 开启性能检测

系统监视器介绍

lvgl 提供了实时的系统监控功能,可以在屏幕上显示 帧率CPU利用率等系统信息,当然,也可以利用串口打印
官方文档说明:

  • System Monitor (sysmon) - LVGL 9.4 documentation

配置

准备工作

开启系统监控只需要开启几个配置,添加几行代码即可
配置模板路径:

managed_components\lvgl__lvgl\lv_conf_template.h

copy 模板至 main 文件夹下,重命名为 lv_conf.h

  1. 启用配置文件
#if 1 /* Set this to "1" to enable content */
  1. 使能 lv_conf.h 配置
    esp-idf 默认不会使用 lv_conf.h 中的配置,要想我们的配置生效,需要修改 sdkconfig 中的配置
    点击下方 status bar 的⚙,滚动至下方 lvgl 的配置
    ![[ESP32-LVGL 开发笔记(三):性能监控-1763020276487.png|443x51]]
    ESP32-LVGL 开发笔记(三):性能监控-1763020276487

  2. 添加编译路径

/** Copy this file as `lv_conf.h`* 1. simply next to `lvgl` folder* 2. or to any other place and*    - define `LV_CONF_INCLUDE_SIMPLE`;*    - add the path as an include path.*/

根据注释说明,我们把 lv_conf.h 直接放在 lvgl__lvgl 文件夹下,但是这样的话一旦 clean 清除,我们的配置也会消失,所以选择第二种方法
在项目根目录下的 CMakeLists.txt 中添加编译选项,完整内容如下:

# The following lines of boilerplate have to be in your project's
# CMakeLists in this exact order for cmake to work correctly
cmake_minimum_required(VERSION 3.16)# 添加编译选项
add_compile_options(-DLV_CONF_PATH=\"${CMAKE_SOURCE_DIR}/main/lv_conf.h\")include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(03_system_monitor)

这个配置,我是参考了下面这个帖子

  • ESP-IDF: LVGL as managed component, lv_conf.h where? - Get started - LVGL Forum

开启系统监控配置

结合 文档 说明,开启系统监控配置

#define LV_USE_LABEL      1/** 1: Enable an observer pattern implementation */
#define LV_USE_OBSERVER 1// 启用系统监控组件
/** 1: Enable system monitor component */
#define LV_USE_SYSMON   1/* Main sysmon enable */
#define LV_USE_SYSMON 1// 性能监控
/* Performance monitor (CPU% and FPS) */
#define LV_USE_PERF_MONITOR 1// 内存监控
/* Memory monitor (used + fragmentation) */
#define LV_USE_MEM_MONITOR 1// 控制台输出,暂不开启
/* Optional: log to console instead of screen */
#define LV_USE_PERF_MONITOR_LOG_MODE 0

接着在 main.capp_main_display 中添加监控组件,完整代码如下:

static void app_main_display(void)
{/* Task lock */lvgl_port_lock(0);/* Your LVGL objects code here .... */// lv_example_get_started_1();// lv_example_get_started_2();lv_example_get_started_4();/* Create generic monitor */lv_sysmon_create(lv_display_get_default());/* Create performance monitor */lv_sysmon_show_performance(NULL); /* NULL = default display *//* Create memory monitor */lv_sysmon_show_memory(NULL);/* Task unlock */lvgl_port_unlock();
}

效果展示
ESP32-LVGL 开发笔记(三):性能监控-1763020484350

左下角是内存信息,右下角是性能信息。屏幕比较小,可以选择在左上角选择展示内存西信息
ESP32-LVGL 开发笔记(三):性能监控-1763020693322

可以自行尝试修改配置查看效果,至此性能监控的内容就结束了🥳🥳🥳

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/983399.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025 阿联酋经济部商标注册平台 TOP4 实测:流程、费用与使用指南全解析

在跨境贸易全球化的浪潮中,阿联酋作为中东地区的商业核心枢纽,其商标注册成为中国企业布局中东市场、抢占商业先机的关键一环。然而,多数企业在申请阿联酋经济部商标时,普遍面临 “流程繁琐复杂、语言沟通障碍、周…

2025 墨西哥商标注册渠道怎么选?3 大主流渠道测评 + 避坑指南

2025 年,随着墨西哥市场跨境贸易热度攀升,商标注册需求激增,但 “周期不可控、流程复杂、隐性收费、驳回风险高” 等问题,让不少企业陷入困境:有人等了 10 个月仍未拿到商标受理通知,有人因材料不合规被驳回却无…

2025年8款免费AI论文写作神器推荐!毕业论文轻松搞定

2025 年冬天,毕业论文让毕业生发愁,作者在咖啡馆看到邻桌用 AI 工具快速生成初稿,从而开始研究。作者分享 2025 年 8 款免费 AI 论文写作神器,如 AI 论文智作可 30 分钟生成万字初稿、智能改稿等;PaperFine 能 30…

Typora的基础使用 - Edward

Typora 介绍 Typora 是一款支持实时预览的 Markdown 文本编辑器,适用于 OS X、Windows 和 Linux 平台。它以其简洁的设计和强大的功能,成为了众多 Markdown 爱好者的首选工具。 Markdown教程(用的时候再看): https:…

DP题单-衔接版

DP题单-衔接版P6567 [NOI Online #3 入门组] 买表

wiredShark

wiredShark显示所有非来自DHCP服务器并且bootp.type==0x02(Offer/Ack/NAK)的信息: bootp.type==0x02 and not ip.src==192.168.15.253 2.3.3 包含(contains) tcp contains "tcp" ip.addr in {192.168.1…

TCP/IP是什么?OSI又是什么? - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

实用指南:(ACP广源盛)GSV6155---带嵌入式微控制器(MCU)和电源传输(PD)控制器的 Type-C/DisplayPort 1.4 信号中继器

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

敏捷冲刺随笔-5

| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience | | 这个作业要求在哪里| https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience/homework/13483 | | 这…

美国商标注册代理公司哪家强?2025 实测榜单,注册成功率一目了然

“美国商标注册成功率多少?”“哪家代理能最快拿证?”“境外申请人必须找美国律师吗?”“如何避免商标近似被驳回?”—— 针对跨境卖家、出海企业最关心的核心问题,2025 年第三方实测榜单给出明确答案:福象商标宝…

2025 国际商标注册平台测评:8 大头部机构实力排行 + 适配指南

一、跨境出海痛点:国际商标注册难在哪?90% 企业踩过这些坑 2025 年全球贸易合规要求升级,国际商标注册成为企业出海 “刚需”,但行业痛点让多数企业举步维艰: ● 合规风险高:120 + 国家法规差异大,美国 “实际使…

2025 印尼商标注册服务商哪家好?3大平台测评,帮你避开 90% 的坑

如果你只想记住一句话 ——“2025 年印尼商标注册哪家最稳妥?” 答案很简单:优先选择【福象商标宝 AI(微信小程序)】这样的一站式智能平台,微信内就能完成检索、评估、申报全流程,依托专业团队与智能技术保障注册…

从赋能到共创:技术负责人的团队赋能五层次模型

本文提出技术团队赋能的五层次模型——工具赋能、能力赋能、决策赋能、文化赋能、生态赋能,剖析各层次本质与实践方法,揭示从"管理控制"到"生态共创"的赋能思维转变,为技术负责人构建高绩效团队…

【数位之和】除法和取余的使用

没什么好说的,就是一个取余和除法的关系; 代码: #include<iostream>using namespace std;int main(){int num;cin >> num;int sum = 0;while(num/10 > 0){int temp = num%10;sum+=temp;num/=10;}sum…

第五十二篇

今天是12月1号,上了Java,数据和建模语言

基于空间变化单层神经网络先验的贝里标量-图像回归

本文提出了一种新颖的贝叶斯非线性标量-图像回归框架,采用空间变化的单层神经网络(SV-NN)作为先验。该模型旨在解决深度神经网络在图像预测任务中需要大量样本和缺乏可解释性的问题,能够实现可解释图像区域选择,并…

20251130-学习第一天

LINUX 1.创建一个名为file的文件 touch file 2.进入目录 cd /etc 3.查看当前所在目录pwd 4.tab键用来补全命令 5.ctrl+c 强行终止当前程序 ctrl+d退出终端 Ctrl+a将光标移至输入行头 Ctrl+e将光标移至输入…

zy_蓝桥杯_C++学习系列一_语法基础

zy_蓝桥杯_C++学习系列一_语法基础$(".postTitle2").removeClass("postTitle2").addClass("singleposttitle");C++语法基础二 1.数组初始化 全局数组:作用域覆盖整个程序,存放在静态存…

Spring Framework源码解析——AsyncConfigurer - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

【日期计算】一个可以死算出来的题目/数学规律和死算你选一个就行了

死算出来了所有月份的范围,然后计算d和每个月份开始的差值就可以了: 闰年: The number 1 month is from 1 to 31 The number 2 month is from 32 to 59 The number 3 month is from 60 to 90 The number 4 month is…