码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【01】LVGL-CodeBlock模拟器安装 | LVGL工程下载 | PC端模拟LVGL步骤


    LVGL模拟器

    • 1.LVGL模拟器介绍
    • 2.Windows环境搭建CodeBlock及获取LVGL工程
    • 3.PC端模拟LVGL
    • 4.总结

    1.LVGL模拟器介绍

      LVGL模拟器:使用PC端软件模拟LVGL运行,而不需要任何嵌入式硬件。优点:便于学习、跨平台协同开发

    在这里插入图片描述

    2.Windows环境搭建CodeBlock及获取LVGL工程

    安装包获取:CodeBlock官网
    软件版本:codeblocks-20.03mingw-setup或以上版本,必须带mingw工具集 (由于模拟工程工程是基于C语言的代码,源代码没办法直接在Windows环境下直接运行,而mingw工具集可以将源代码生成可在Windows下执行的文件)。

    安装CodeBlocks,正常安装即可,选择合适的文件目录。
    在这里插入图片描述

    工程获取途径:LVGL官网的github仓库,网址

    注意:文件夹带“@”的子文件夹需要另外下载,解压后,放至相应文件夹,我这里已经下载过了,所以IDM显示重复下载。:
    在这里插入图片描述

    3.PC端模拟LVGL

    使用步骤:
    1.配置屏幕分辨率、修改配置文件;
    2.建议建立专门存放lvgl用户代码的文件,移植和管理更加方便;
    3.编写用户代码,在主函数中调用。

      用CodeBlocks打开.cbp文件。
    在这里插入图片描述
      在main.c文件中修改屏幕的分辨率,长×宽。
    在这里插入图片描述
      在lv_conf.h中修改屏幕颜色深度,我这里屏幕颜色深度为16为,所以改为16.

    /*Color depth: 1 (1 byte per pixel), 8 (RGB332), 16 (RGB565), 32 (ARGB8888)*/
    #define LV_COLOR_DEPTH 16
    
    • 1
    • 2

      不修改其他文件直接点击运行,可以运行官方的lvgl demo。

    在这里插入图片描述
      在工程目录下创建my_gui.c和my_gui.h文件,并在CodeBlocks软件中右击“lvgl文件夹”添加这两个文件。
    在这里插入图片描述
    my_gui.h中代码:

    #ifndef __MY_GUI_H
    #define __MY_GUI_H
    
    void my_gui(void);
    
    #endif // __MY_GUI_H
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    my_gui.c中代码:

    #include "my_gui.h"
    #include "lvgl.h"
    
    
    void my_gui(void)
    {
        lv_obj_t* switch_obj = lv_switch_create(lv_scr_act());
        lv_obj_set_size(switch_obj, 120, 60);
        lv_obj_align(switch_obj, LV_ALIGN_CENTER, 0, 0);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

      这样就创建了一个按钮,需要在main.c中添加my_gui.h头文件、注释掉调用demo那行代码并调用my_gui()。
    在这里插入图片描述

    4.总结

    在这里插入图片描述

  • 相关阅读:
    Ubuntu下常用开发工具的配置
    LLM大语言模型(十二):关于ChatGLM3-6B不兼容Langchain 的Function Call
    Qt_C++读写FM1208 CPU卡源码、支持windows、Linux系统
    【Redis设计与实现】第一部分 :Redis数据结构和对象 总结
    计算机算法分析与设计(4)---矩阵连乘问题(含C++代码)
    Linux部署SpringBoot项目
    【FreeRTOS】中断机制
    Codeforces 1281F 树上背包
    Visual Studio中MD与MT的区别及运行库类型选择
    Chapter 6 提升
  • 原文地址:https://blog.csdn.net/m0_52162042/article/details/133933745
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号