• AIR101 LuatOS LVGL 显示多个标签例程


     屏幕资料

     

     AIR101与屏幕连接

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

     

     PC电脑仿真

    1. -- sys库是标配
    2. _G.sys = require("sys")
    3. sys.taskInit(function()
    4. local cnt=0
    5. lvgl.init(480,320)--lvgl初始化
    6. local cont = lvgl.cont_create(nil, nil);
    7. -- lvgl.cont_set_fit(cont, lvgl.FIT_NONE )
    8. local label = lvgl.label_create(cont, nil)--创建标签label
    9. local label1 = lvgl.label_create(cont, nil)--创建标签label
    10. while 1 do
    11. local str=tostring(cnt)
    12. local dispStr ="Latitude11:"..string.format("%3.2f",cnt)
    13. local dispStr1="Longitude:" ..string.format("%3.2f",cnt)
    14. lvgl.obj_set_pos(label1, 0, 15);
    15. lvgl.label_set_text(label, dispStr)--设置标签内容
    16. lvgl.label_set_text(label1, dispStr1)--设置标签内容
    17. lvgl.scr_load(cont)--加载标签
    18. -- lvgl.scr_load(label)
    19. -- lvgl.scr_load(label1)
    20. sys.wait(100)
    21. cnt=cnt+0.01
    22. end
    23. end)
    24. sys.run()

     PC电脑仿真运行效果

    AIR101移植源码

    1. --- 模块功能:lvgldemo
    2. -- @module lvgl
    3. -- @author armxu
    4. -- @release 2023.10.24
    5. -- LuaTools需要PROJECT和VERSION这两个信息
    6. PROJECT = "lvgl_multi_Label_demo"
    7. VERSION = "1.0.0"
    8. log.info("main", PROJECT, VERSION)
    9. -- sys库是标配
    10. _G.sys = require("sys")
    11. --[[
    12. SPI0
    13. SPI0_SCK (PB2)
    14. SPI0_MISO (PB3)
    15. SPI0_MOSI (PB5)
    16. ]]
    17. --添加硬狗防止程序卡死
    18. wdt.init(15000)--初始化watchdog设置为15s
    19. sys.timerLoopStart(wdt.feed, 10000)--10s喂一次狗
    20. log.info("hello luatos")
    21. spi_lcd = spi.deviceSetup(0,20,0,0,8,20*1000*1000,spi.MSB,1,1)
    22. -- log.info("lcd.init",
    23. -- 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))
    24. log.info("lcd.init",
    25. 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))
    26. --[[-- v0006及以后版本可用pin方式
    27. spi_lcd = spi.deviceSetup(0,pin.PB04,0,0,8,20*1000*1000,spi.MSB,1,1)
    28. log.info("lcd.init",
    29. 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))
    30. ]]
    31. log.info("lvgl", lvgl.init())
    32. sys.taskInit(function()
    33. local cnt=0
    34. --创建容器
    35. local cont = lvgl.cont_create(nil, nil);
    36. --创建2个标签
    37. local label = lvgl.label_create(cont, nil)
    38. local label1 = lvgl.label_create(cont, nil)
    39. while 1 do
    40. local dispStr ="Latitude:"..string.format("%3.2f",cnt)--浮点数转换成字符串
    41. local dispStr1="Longitude:" ..string.format("%3.2f",cnt)--浮点数转换成字符串
    42. lvgl.obj_set_pos(label1, 0, 15);
    43. lvgl.label_set_text(label, dispStr) --设置标签内容
    44. lvgl.label_set_text(label1, dispStr1)--设置标签内容
    45. lvgl.scr_load(cont)--加载容器 显示标签
    46. sys.wait(200)
    47. cnt=cnt+0.01--浮点数累加
    48. end
    49. end)
    50. -- 用户代码已结束---------------------------------------------
    51. -- 结尾总是这一句
    52. sys.run()
    53. -- sys.run()之后后面不要加任何语句!!!!!

     下载程序

     实际运行效果

    设置标签字体颜色

    参考:

    设置颜色

    添加的语句:

    1. lvgl.label_set_recolor(label, true)
    2. local dispStr ="#FF0000 Latitude11:"..string.format("%3.2f",cnt).."#"
    1. -- sys库是标配
    2. _G.sys = require("sys")
    3. sys.taskInit(function()
    4. local cnt=0
    5. lvgl.init(480,320)--lvgl初始化
    6. local cont = lvgl.cont_create(nil, nil);
    7. -- lvgl.cont_set_fit(cont, lvgl.FIT_NONE )
    8. local label = lvgl.label_create(cont, nil)--创建标签label
    9. local label1 = lvgl.label_create(cont, nil)--创建标签label
    10. lvgl.label_set_recolor(label, true)
    11. while 1 do
    12. local str=tostring(cnt)
    13. local dispStr ="#FF0000 Latitude11:"..string.format("%3.2f",cnt).."#"
    14. local dispStr1="Longitude:" ..string.format("%3.2f",cnt)
    15. lvgl.obj_set_pos(label1, 0, 15);
    16. lvgl.label_set_text(label, dispStr)--设置标签内容
    17. lvgl.label_set_text(label1, dispStr1)--设置标签内容
    18. lvgl.scr_load(cont)--加载标签
    19. -- lvgl.scr_load(label)
    20. -- lvgl.scr_load(label1)
    21. sys.wait(100)
    22. cnt=cnt+0.01
    23. end
    24. end)
    25. sys.run()

     运行效果

  • 相关阅读:
    intellij idea的快速配置详细使用
    12 岁印度少年出手,Ubuntu Unity 桌面 6 年后起死回生
    DevSecOps 安全即代码基础指南
    一文图解Golang管道Channel
    Charles抓取接口报文并修改各种参数信息调试
    深入解析Windows操作系统——概念和工具
    3、shell脚本观察MySQL进程状态
    python爬虫设计实验
    Android11适配
    【HMS core】【FAQ】Health Kit、In-App Purchases、Account Kit典型问题合集4
  • 原文地址:https://blog.csdn.net/armcsdn/article/details/134002991