HMI-Board之LVGL应用

移植

使用默认模板工程新建一个RT-Thread项目,BSP版本为1.1.1

在这里插入图片描述

打开RT-Thread Settings,点击右侧箭头按钮进入详细页,在硬件栏开启以下几个配置选项(LCD、触摸屏、demo)

在这里插入图片描述

此时,打开board文件夹,发现下面会有一个lvgl的目录,package目录下会有LVGL和lv-music两个目录,如果没有请检查上一步有没有漏掉的步骤

在这里插入图片描述

编译、下载程序进行发现开发板已经运行lv-music-demo程序

在这里插入图片描述

界面定制

接下来安装SquareLine Studio,定制自己的lvgl界面,我这里下载的是SquareLine_Studio_1.3.3_Setup.exe,一路默认安装就可以了

在这里插入图片描述

安装完需要登录账号才能使用,没有账户的请注册一下

在这里插入图片描述

选择Create下的NuMaker-HMI-M467项目,然后CREATE

在这里插入图片描述

这个工程自带Sreen,先随意拖几个控件到Screen1上面

在这里插入图片描述

导出ui文件到指定文件夹lvgl-demo,生成源代码文件:Export -> Export UI Files

在这里插入图片描述

生成的源代码文件如下

在这里插入图片描述

拷贝上面的文件夹到lvgl工程的目录packages\lv_music_demo-v0.3.4下面

在这里插入图片描述

把lv_demo_music函数改一下改成下面

/**
 * @file lv_demo_music.c
 *
 */

/*********************
 *      INCLUDES
 *********************/


#include "lv_demo_rtt_music.h"
#include "lvgl-demo/ui.h"

#if LV_USE_DEMO_RTT_MUSIC
void lv_demo_music(void)
{
    ui_init();
}
#endif /*LV_USE_DEMO_RTT_MUSIC*/

先清理一下工程,然后再重新构建,没有问题的话lvgl-demo的文件夹会被加到工程目录中去

在这里插入图片描述

Ctrl + F5启动调试,编译下载程序后,自定义的界面已经可以在开发板上面显示

在这里插入图片描述

源码分析

用调试器抓一下lvgl的启动过程,基本分为以下几个步骤

INIT_ENV_EXPORT :lvgl线程接口作为初始化环境被系统调用

lvgl_thread_init:lvgl线程初始化

lvgl_thread_entry:启动GUI线程,这里会设置一些跟显示屏相关的参数(分辨率、彩色位数等)

lv_init();

lv_port_disp_init();

lv_port_indev_init();

lv_user_gui_init();

lv_user_gui_init:自定义用户代码,最终会调用到ui_init

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OSI协议集

国际标准化组织除了定义osi参考模型之外,还开发了实现7个功能层次的各种协议和服务标准,这些协议和服务统称为osi协议。osi协议是一些已有的协议和iso新开发的协议的混合体,例如,大部分物理层和数据链路层协议是采用现有的协议&am…

Postgre pg_fdw(foreign data wrappers)部署 实现PG到PG之间数据同步

结构: 主机名ip操作系统PG192.168.80.9centos7.9qilin192.168.80.99中标麒麟v7.0 fdw支持同构或异构数据库之间的访问。 部署FDW 需要在客户端部署。 1.编译postgre_fdw cd /usr/local/postgresql-12.4/contrib/postgres_fdwmakemake install 一般这里面会报权限…

雷池WAF-动态防护新功能体验

雷池WAF 雷池WAF(Web Application Firewall,网络应用防火墙)是由长亭科技开发的一个网络安全产品,它专注于保护Web应用免受黑客攻击。 今天主要讲的是长亭雷池最近新出的功能:动态防护 安装 雷池WAF支持多种安装方式…

【Linux】网络管理

1、查看网络管理程序的状态 systemctl status NetworkManager 2、查看网络子管理程序的状态 systemctl status network 配置网络的工具 1、图形界面网络设置 步骤如下: 还可在命令行输入: nmtui 或者: nm-connection-editor 打开…

Qt_C++ RFID网络读卡器Socket Udp通讯示例源码

本示例使用的设备&#xff1a; WIFI/TCP/UDP/HTTP协议RFID液显网络读卡器可二次开发语音播报POE-淘宝网 (taobao.com) #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QHostInfo> #include <QNetworkInterface> #include <…

[论文笔记]Mistral 7B

引言 今天带来大名鼎鼎的Mistral 7B的论文笔记。 作者推出了Mistral 7B&#xff0c;这是一个70亿参数的语言模型。Mistral 7B在所有评估基准中表现优于最佳的13B开源模型&#xff08;Llama 2&#xff09;&#xff0c;并且在推理、数学和代码生成方面胜过最佳发布的34B模型(Ll…

Patchwork++:基于点云的快速、稳健的地面分割方法

1. 背景 论文发表在2022IROS&#xff0c;是Patchwork的改进版本。算法通过数学方法进行快速而鲁棒性很强的地面分割&#xff0c;在智能机器人上的可操作性非常强。通过微调算法&#xff0c;可以应用于16-beams等多种规格的激光雷达。由于激光雷达点云数据标注的难度非常大&…

苹果CMS:怎么添加2019和2020年份筛选

我们进入搜索的时候看到一个关于年份的搜索&#xff0c;那如果上面没有出现19,20我们该如何处理呢&#xff1f; 我们进入管理后台 -【系统】-【网站参数配置】-【预留参数】 添加下视频年代逗号隔开即可 如果要设置地区&#xff0c;语言也实在这里直接配置即可&#xff01;&am…

新书推荐:1.3 内存管理模式

本节必须掌握的知识点&#xff1a; 4GB虚拟空间 虚拟内存 多任务切换 1.3.1 4GB虚拟空间 ■Win16操作系统 Windows1.0版本为16位操作系统&#xff0c;支持16位处理器实模式&#xff0c;最大寻址空间为1MB。Win16操作系统的内存管理非常简单&#xff0c;采用分段内存管理模式…

企业微信hook接口协议,ipad协议http,发送CDN语音消息

发送CDN语音消息 参数名必选类型说明uuid是String每个实例的唯一标识&#xff0c;根据uuid操作具体企业微信send_userid是long要发送的人或群idisRoom是bool是否是群消息 请求示例 {"uuid":"1753cdff-0501-42fe-bb5a-2a4b9629f7fb","send_userid&q…

树莓派4B 学习笔记3: 系统自动更新时间_测试CSI摄像头_安装OpenCv_4.6(未成功编译源码)_备份树莓派镜像

今日继续学习树莓派4B 4G&#xff1a;&#xff08;Raspberry Pi&#xff0c;简称RPi或RasPi&#xff09; 本文我只是安装了OpenCv 4.6&#xff0c;但编译源码失败了&#xff01;有关 OpenCv 部分仅做笔记暂存&#xff01; 本人所用树莓派4B 装载的系统与版本如下: 版本可用命令…

平板显示LED背光芯片OC6700,输入3.6V~60V,升压型 LED 恒流驱动器

概述 OC6700是一款内置60V功率NMOS高效率、高精度的升压型大功率LED恒流驱动芯片。OC6700采用固定关断时间的控制方式&#xff0c;关断时间可通过外部电容进行调节&#xff0c;工作频率可根据用户要求而改变。OC6700通过调节外置的电流采样电阻&#xff0c;能控制高亮度LED灯的…

汇编:数据定义数据填充

数组的定义 在32位汇编语言中&#xff0c;定义数组时&#xff0c;通常使用定义数据指令&#xff08;如 DB, DW, DD,DQ &#xff09;和标签来指定数组的名称和内容。DB定义字节数组&#xff08;每个元素占1字节&#xff09;、DW定义字数组&#xff08;每个元素占2字节&#xff…

【AI基础】第二步:安装AI运行环境

开局一张图&#xff1a; 接下来按照从下往上的顺序来安装部署。 规则1 注意每个层级的安装版本&#xff0c;上层的版本由下层版本决定 比如CUDA的版本&#xff0c;需要看显卡安装了什么版本的驱动&#xff0c;然后CUDA的版本不能高于这个驱动的版本。 这个比较好理解&#xff…

注意力机制篇 | YOLOv8改进之引入STA(Super Token Attention)超级令牌注意力机制 | CVPR2023

前言:Hello大家好,我是小哥谈。超级令牌注意力机制是一种基于Transformer的模型,用于处理长文本序列的任务。它通过引入超级令牌(Super Token)来减少输入序列中的填充标记,从而提高计算效率和模型性能。🌈 目录 🚀1.基础概念

1.4 Unicode简介

现在的Windows操作系统有许多不同语言版本&#xff0c;可以支持所有国家现有的语言文字。这就涉及到不同字符集的编码规则。 本节必须掌握的知识点&#xff1a; 字符集 C语言款字符 宽字符和Windows 1.4.1 字符集 ■ANSI多字节字符集 ●ASCII码 现代计算机发源于美国&…

一分钟了解香港的场外期权报价

香港的场外期权报价 在香港这个国际金融中心&#xff0c;场外期权交易是金融市场不可或缺的一部分。场外期权&#xff0c;作为一种非标准化的金融衍生品&#xff0c;为投资者提供了在特定时间以约定价格买入或卖出某种资产的机会。对于希望参与这一市场的投资者来说&#xff0…

RabbitMQ学习笔记(一)RabbitMQ部署、5种队列模型

文章目录 1 认识MQ1.1 同步和异步通讯1.1.1 同步通讯1.1.2 异步通讯 1.2 技术对比 2 RabbitMQ入门2.1 RabbitMQ单机部署2.2 RabbitMQ基本结构2.3 RabbitMQ队列模型2.3.1 简单队列模型&#xff08;Simple Queue Model&#xff09;2.3.2 工作队列模型&#xff08;Work Queue Mode…

I.MX RT1170之MIPI DSI初始化和显示流程详解

MIPI DSI&#xff08;Mobile Industry Processor Interface Display Serial Interface&#xff09;是一种广泛应用于移动设备显示屏的接口标准。由MIPI联盟制定&#xff0c;DSI接口旨在提供高效、低功耗的显示屏数据传输解决方案。 本节来就通过学习I.MX RT1170单片机中的MIPI…

Vue3——实现word,pdf上传之后,预览功能(实测有效)

vue-office/pdf - npm支持多种文件(**docx、excel、pdf**)预览的vue组件库&#xff0c;支持vue2/3。也支持非Vue框架的预览。. Latest version: 2.0.2, last published: a month ago. Start using vue-office/pdf in your project by running npm i vue-office/pdf. There are …