lvgl 之常见配置项修改

简介

lv_conf.h 文件用于常见LVGL功能项配置

一、常规配置项

//屏幕水平宽度 根据实际使用修改
#define LV_HOR_RES_MAX 800 
 
//屏幕水平高度 根据实际使用修改
#define LV_VER_RES_MAX 480

COLOR SETTINGS

颜色设置

/*Color depth: 1 (1 byte per pixel), 8 (RGB332), 16 (RGB565), 32 (ARGB8888)*/
#define LV_COLOR_DEPTH     32   //屏幕色深配置

MEMORY SETTINGS

内存设置

//这里默认的是128K 用作lvgl的动态内存分配。可以根据实际情况修改,但是要大于等于2KB
/*Size of the memory available for `lv_mem_alloc()` in bytes (>= 2kB)*/
#  define LV_MEM_SIZE    (128U * 1024U)          /*[bytes]*/

//在右下角显示CPU使用率和FPS计数
/*1: Show CPU usage and FPS count in the right bottom corner*/
#define LV_USE_PERF_MONITOR     0

//在左下角显示使用的内存和内存碎片
/*1: Show the used memory and the memory fragmentation  in the left bottom corner
 * Requires LV_MEM_CUSTOM = 0*/
#define LV_USE_MEM_MONITOR      0

HAL SETTINGS

显示设置

//默认显示刷新周期。LVG将在这段时间内重新绘制改变的区域
/*Default display refresh period. LVG will redraw changed ares with this period time*/
#define LV_DISP_DEF_REFR_PERIOD     16      /*[ms]*/

输入设备的扫描时间周期,就是轮询按键鼠标的时间。默认16ms。
/*Input device read period in milliseconds*/
#define LV_INDEV_DEF_READ_PERIOD    16      /*[ms]*/


/*使用自定义滴答源,以毫秒为单位告诉运行时间。
*它消除了使用' lv_tick_inc() ')手动更新tick的需要*/
#define LV_TICK_CUSTOM     1

Asserts

/*如果操作失败或发现无效数据,启用断言。
如果LV_USE_LOG被启用,失败时会打印错误信息/

//检查该参数是否为NULL。(非常快,推荐)
#define LV_USE_ASSERT_NULL          1   /*Check if the parameter is NULL. (Very fast, recommended)*/

//检查内存是否分配成功。(非常快,推荐)
#define LV_USE_ASSERT_MALLOC        1   /*Checks is the memory is successfully allocated or no. (Very fast, recommended)*/

Logging

日志打印设置

// 日志打印使能
/*Enable the log module*/
#define LV_USE_LOG      1

/*日志的重要性:
*LV_LOG_LEVEL_TRACE许多日志提供详细信息
*LV_LOG_LEVEL_INFO记录重要事件
*LV_LOG_LEVEL_WARN日志,如果不需要的事情发生了,但没有导致问题
*LV_LOG_LEVEL_ERROR仅为关键问题,当系统可能失败时
*LV_LOG_LEVEL_USER仅用户添加的日志
*LV_LOG_LEVEL_NONE不记录任何内容*/
#  define LV_LOG_LEVEL    LV_LOG_LEVEL_WARN

TEXT SETTINGS

字符编码设置

/**
 * Select a character encoding for strings.
 * Your IDE or editor should have the same character encoding
 * - LV_TXT_ENC_UTF8
 * - LV_TXT_ENC_ASCII
 */
#define LV_TXT_ENC LV_TXT_ENC_UTF8   //使用LV_TXT_ENC_UTF8作为编码,  注意:编辑器编码模式需与这个保持一致

FONT USAGE

字体设置

/*Optionally declare custom fonts here.
 *You can use these fonts as default font too and they will be available globally.
 *E.g. #define LV_FONT_CUSTOM_DECLARE   LV_FONT_DECLARE(my_font_1) LV_FONT_DECLARE(my_font_2)*/
#define LV_FONT_CUSTOM_DECLARE    //自定义字体设置, 留空表示不设置

/*Always set a default font*/
#define LV_FONT_DEFAULT &lv_font_montserrat_14    //设置默认字体为lv_font_montserrat_14

/*Enable handling large font and/or fonts with a lot of characters.
 *The limit depends on the font size, font face and bpp.
 *Compiler error will be triggered if a font needs it.*/
#define LV_FONT_FMT_TXT_LARGE   0    //字体设置过多,报错则打开此项

二、驱动配置项

1.显示驱动配置项(Linux)

/*-----------------------------------------
 *  Linux frame buffer device (/dev/fbx)
 *-----------------------------------------*/
#ifndef USE_FBDEV
#  define USE_FBDEV           0
#endif

#ifndef USE_SS_FBDEV
#  define USE_SS_FBDEV        1  //为1则使用Linux framebuffer显示驱动
#  define SS_FBDEV_V2         1
#  define SS_FBDEV_V3         0
#endif

#if USE_FBDEV || USE_SS_FBDEV
#  define FBDEV_PATH          "/dev/fb0"  //选择fb设备
#endif

2.LVGL显示驱动初始化流程

application (总:应用层调用lv_init() 初始化显示驱动)

|-------> lv_init()

|-------> lv_port_disp_init()

|------------------> lv_disp_draw_buf_init() 配置绘制 buffer;

|------------------> lv_disp_drv_init() 配置底层驱动,挂接绘制函数 flush_cb;

|-------------------------------> lv_disp_drv_register() 注册驱动;

函数调用关系如下:
在这里插入图片描述

3.其它显示驱动配置项展示

/*----------------
 *    SSD1963
 *--------------*/
#ifndef USE_SSD1963
#  define USE_SSD1963         0
#endif


/*----------------
 *    R61581
 *--------------*/
#ifndef USE_R61581
#  define USE_R61581          0
#endif


/*------------------------------
 *  ST7565 (Monochrome, low res.)
 *-----------------------------*/
#ifndef USE_ST7565
#  define USE_ST7565          0
#endif


/*------------------------------
 *  GC9A01 (color, low res.)
 *-----------------------------*/
#ifndef USE_GC9A01
#  define USE_GC9A01          0
#endif

触摸驱动配置项(Linux)

/*-------------------------------------------------
 * Mouse or touchpad as evdev interface (for Linux based systems)
 *------------------------------------------------*/
#ifndef USE_EVDEV
#  define USE_EVDEV           1     //为1则使用Linux触摸驱动
#endif

#ifndef USE_BSD_EVDEV
#  define USE_BSD_EVDEV       0
#endif

#if USE_EVDEV || USE_BSD_EVDEV
// 选择触摸输入设备
#  define EVDEV_NAME   "/dev/input/event0"        /*You can use the "evtest" Linux tool to get the list of devices and test them*/
#  define EVDEV_SWAP_AXES         0               /*Swap the x and y axes of the touchscreen*/

补充中

。。。
。。。
。。。

  • 9
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 要使lvgl.h库支持中文,有几个步骤需要进行配置。 首先,确保在代码中使用的字体文件具有中文字库。可以选择一些开源的中文字库文件,如微软雅黑字体、文泉驿字体等。将这些字体文件添加到目的字体文件夹中。 接下来,在lv_conf.h文件中进行配置。打开该文件,在配置区域中找到`LV_USE_FONT_MONTSERRAT_16`,这是默认的字体配置。将其替换为`LV_USE_FONT_YOUR_FONT_NAME_16`,其中YOUR_FONT_NAME是你添加到目字体文件夹中的字体名称。 并且,确保lv_conf.h文件中以下配置被打开: ``` #define LV_USE_BIDI 1 //启用双向文本支持 #define LV_USE_ARABIC_PERSIAN_CHARS 1 //启用阿拉伯-波斯字符集 ``` 完成以上配置后,重新编译整个目,并运行程序。现在,lvgl.h 库应该已经支持中文了。 需要注意的是,中文支持的效果与所使用的字体文件相关。某些字体可能只支持部分中文字,可能会出现乱码或显示错误的情况。在选择字体文件时,确保所选字体文件包含您需要的中文字体。 ### 回答2: 在使用lvgl.h库配置支持中文的过程中,需要进行以下步骤: 1. 确保你的目中包含了lvgl.h库,如果没有,可以从官方网站下载并添加到目中。 2. 在lv_conf.h文件中开启中文支持的宏定义。此文件通常位于lvgl.h库的目录下。你可以搜索"LV_USE_FONT_FILE"并将其设置为1。这样设置后,lvgl.h将支持使用外部字库文件。 3. 准备好适用于汉字的字库文件,通常是一个包含汉字的ttf文件。可以通过搜索引擎或者其他渠道获取适合你目的字库文件。 4. 将字库文件放置在你的目目录下,并在lv_conf.h文件中配置该字库文件的路径。通过搜索"LV_FONT_CUSTOM_DECLARE",你可以找到一个宏定义,可以在其中配置自定义的字库文件路径。请确保路径正确,并且在路径中使用双引号而不是尖括号。 5. 在代码中使用中文字符。现在,你可以在代码中使用中文字符了,这些字符将会通过字库文件正确地显示出来。 需要注意的是,以上步骤是配置支持中文的一种方法,根据你的目需求和环境可能会有所差异。此外,你还需要根据你的具体目进行适当的调整和实践来实现最佳效果。 ### 回答3: 要在lvgl.h中配置支持中文,可以按照以下步骤进行操作: 1. 在lv_conf.h文件中找到以下配置:`#define LV_USE_FONT_DEJAVU_16_PERSIAN_HEBREW`,取消注释并将其设置为1。这个配置是为了支持显示波斯语和希伯来语等字符,其字体可以适用于简体中文。 2. 在lvgl.h文件中找到以下配置:`#define LV_FONT_CUSTOM_DECLARE extern lv_font_t lv_font_dejavu_16_persian_hebrew`,取消注释。这个配置用于声明一个外部的自定义字体变量。 3. 使用Font Converter工具将中文字体文件(通常为.ttf格式)转换为适用于lvgl的字体格式(如.lv_font格式)。 4. 在lv_conf.h文件中找到以下配置:`#define LV_FONT_DEFAULT &lv_font_dejavu_16_persian_hebrew`,将其更改为相应的字体文件。 5. 最后,在lvgl中的代码中使用相应的字体变量来显示中文字符。 通过以上步骤,就可以在lvgl.h中进行配置,以支持中文字符的显示。请注意,这只是基本的配置步骤,具体的实施可能会因使用的开发环境和需求而有所不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路过的小熊~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值