AIR101 LuatOS LVGL 显示多个标签例程

2023-10-25 15:30

本文主要是介绍AIR101 LuatOS LVGL 显示多个标签例程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 屏幕资料

 

 AIR101与屏幕连接

PC端仿真环境合宙官方PC端版本环境搭建教程

 

 PC电脑仿真

-- sys库是标配
_G.sys = require("sys")
sys.taskInit(function()local cnt=0lvgl.init(480,320)--lvgl初始化local cont = lvgl.cont_create(nil, nil);-- lvgl.cont_set_fit(cont, lvgl.FIT_NONE )local label  = lvgl.label_create(cont, nil)--创建标签labellocal label1 = lvgl.label_create(cont, nil)--创建标签labelwhile 1 dolocal str=tostring(cnt)local dispStr ="Latitude11:"..string.format("%3.2f",cnt)local dispStr1="Longitude:" ..string.format("%3.2f",cnt)lvgl.obj_set_pos(label1, 0, 15);lvgl.label_set_text(label, dispStr)--设置标签内容lvgl.label_set_text(label1, dispStr1)--设置标签内容lvgl.scr_load(cont)--加载标签-- lvgl.scr_load(label)-- lvgl.scr_load(label1)sys.wait(100)cnt=cnt+0.01end
end)
sys.run()

 PC电脑仿真运行效果

AIR101移植源码

--- 模块功能:lvgldemo
-- @module lvgl
-- @author armxu
-- @release 2023.10.24-- LuaTools需要PROJECT和VERSION这两个信息
PROJECT = "lvgl_multi_Label_demo"
VERSION = "1.0.0"log.info("main", PROJECT, VERSION)-- sys库是标配
_G.sys = require("sys")--[[
SPI0
SPI0_SCK               (PB2)
SPI0_MISO              (PB3)
SPI0_MOSI              (PB5)
]]--添加硬狗防止程序卡死
wdt.init(15000)--初始化watchdog设置为15s
sys.timerLoopStart(wdt.feed, 10000)--10s喂一次狗log.info("hello luatos")spi_lcd = spi.deviceSetup(0,20,0,0,8,20*1000*1000,spi.MSB,1,1)
-- log.info("lcd.init",
-- lcd.init("st7735s",{port = "device",pin_dc = 17, pin_pwr = 7,pin_rst = 19,direction = 2,w = 160,h = 80,xoffset = 1,yoffset = 26},spi_lcd))log.info("lcd.init",
lcd.init("st7735",{port = "device",pin_dc = 17, pin_pwr = 7,pin_rst = 19,direction = 0,w = 128,h = 160,xoffset = 2,yoffset = 1},spi_lcd))--[[-- v0006及以后版本可用pin方式
spi_lcd = spi.deviceSetup(0,pin.PB04,0,0,8,20*1000*1000,spi.MSB,1,1)
log.info("lcd.init",
lcd.init("st7735s",{port = "device",pin_dc = pin.PB01, pin_pwr = pin.PB00,pin_rst = pin.PB03,direction = 2,w = 160,h = 80,xoffset = 1,yoffset = 26},spi_lcd))
]]
log.info("lvgl", lvgl.init())sys.taskInit(function()local cnt=0--创建容器local cont = lvgl.cont_create(nil, nil);--创建2个标签local label  = lvgl.label_create(cont, nil)local label1 = lvgl.label_create(cont, nil)while 1 dolocal dispStr ="Latitude:"..string.format("%3.2f",cnt)--浮点数转换成字符串local dispStr1="Longitude:" ..string.format("%3.2f",cnt)--浮点数转换成字符串lvgl.obj_set_pos(label1, 0, 15);lvgl.label_set_text(label, dispStr)  --设置标签内容lvgl.label_set_text(label1, dispStr1)--设置标签内容lvgl.scr_load(cont)--加载容器 显示标签sys.wait(200)cnt=cnt+0.01--浮点数累加end
end)-- 用户代码已结束---------------------------------------------
-- 结尾总是这一句
sys.run()
-- sys.run()之后后面不要加任何语句!!!!!

 下载程序

 实际运行效果

设置标签字体颜色

参考:

设置颜色

添加的语句:

lvgl.label_set_recolor(label, true)
local dispStr ="#FF0000 Latitude11:"..string.format("%3.2f",cnt).."#"
-- sys库是标配
_G.sys = require("sys")
sys.taskInit(function()local cnt=0lvgl.init(480,320)--lvgl初始化local cont = lvgl.cont_create(nil, nil);-- lvgl.cont_set_fit(cont, lvgl.FIT_NONE )local label  = lvgl.label_create(cont, nil)--创建标签labellocal label1 = lvgl.label_create(cont, nil)--创建标签labellvgl.label_set_recolor(label, true)while 1 dolocal str=tostring(cnt)local dispStr ="#FF0000 Latitude11:"..string.format("%3.2f",cnt).."#"local dispStr1="Longitude:" ..string.format("%3.2f",cnt)lvgl.obj_set_pos(label1, 0, 15);lvgl.label_set_text(label,  dispStr)--设置标签内容lvgl.label_set_text(label1, dispStr1)--设置标签内容lvgl.scr_load(cont)--加载标签-- lvgl.scr_load(label)-- lvgl.scr_load(label1)sys.wait(100)cnt=cnt+0.01end
end)
sys.run()

 运行效果

这篇关于AIR101 LuatOS LVGL 显示多个标签例程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/283462

相关文章

CSS去除a标签的下划线的几种方法

《CSS去除a标签的下划线的几种方法》本文给大家分享在CSS中,去除a标签(超链接)的下划线的几种方法,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧... 在 css 中,去除a标签(超链接)的下划线主要有以下几种方法:使用text-decoration属性通用选择器设置:使用a标签选择器,将tex

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python实现合并与拆分多个PDF文档中的指定页

《Python实现合并与拆分多个PDF文档中的指定页》这篇文章主要为大家详细介绍了如何使用Python实现将多个PDF文档中的指定页合并生成新的PDF以及拆分PDF,感兴趣的小伙伴可以参考一下... 安装所需要的库pip install PyPDF2 -i https://pypi.tuna.tsingh

Linux虚拟机不显示IP地址的解决方法(亲测有效)

《Linux虚拟机不显示IP地址的解决方法(亲测有效)》本文主要介绍了通过VMware新装的Linux系统没有IP地址的解决方法,主要步骤包括:关闭虚拟机、打开VM虚拟网络编辑器、还原VMnet8或修... 目录前言步骤0.问题情况1.关闭虚拟机2.China编程打开VM虚拟网络编辑器3.1 方法一:点击还原VM

Maven pom.xml文件中build,plugin标签的使用小结

《Mavenpom.xml文件中build,plugin标签的使用小结》本文主要介绍了Mavenpom.xml文件中build,plugin标签的使用小结,文中通过示例代码介绍的非常详细,对大家的学... 目录<build> 标签Plugins插件<build> 标签<build> 标签是 pom.XML

CSS模拟 html 的 title 属性(鼠标悬浮显示提示文字效果)

《CSS模拟html的title属性(鼠标悬浮显示提示文字效果)》:本文主要介绍了如何使用CSS模拟HTML的title属性,通过鼠标悬浮显示提示文字效果,通过设置`.tipBox`和`.tipBox.tipContent`的样式,实现了提示内容的隐藏和显示,详细内容请阅读本文,希望能对你有所帮助... 效

HTML5中下拉框<select>标签的属性和样式详解

《HTML5中下拉框<select>标签的属性和样式详解》在HTML5中,下拉框(select标签)作为表单的重要组成部分,为用户提供了一个从预定义选项中选择值的方式,本文将深入探讨select标签的... 在html5中,下拉框(<select>标签)作为表单的重要组成部分,为用户提供了一个从预定义选项中