
1颜色相关宏定义

#define LV_COLOR_DEPTH 16 :这个宏配置选择RGB颜色显示的位数,正点原子显示屏配置的是16位,所以只能选16位。
#define LV_COLOR_SCREEN_TRANSP 0:该宏只有ARG8888的32为颜色才能开启透明度
#define LV_COLOR_CHROMA_KEY lv_color_hex(0x00ff00) /*抠掉纯绿色背景 */
2内存管理宏定义
LVGL管理的内存空间建议用内部的SRAM,用来提高性能,该内存空间用于LVGL的各种任务,并且还有用户申请内存空间(如果使用LVGL自带的内存管理,那么用户申请函数可以使用FreeRTOS的内存申请)。
#define LV_MEM_CUSTOM 0 :置0的时候使用LVGL自身的内存管理算法,置1就可以使用自研的管理算法
#define LV_MEM_ADR 0 :该宏置0就是LVGL使用大数组的当时申请内存,该宏可以设置成地址段 比如#define LV_MEM_ADR addr
以下两个宏在默认配置是屏蔽的,如果不屏蔽那么就使用用户的内存配置函数
// #define LV_MEM_POOL_INCLUDE your_alloc_library
// #define LV_MEM_POOL_ALLOC your_alloc
3 LVGL硬件性能宏定义

#define LV_DISP_DEF_REFR_PERIOD 5 显示屏刷新周期,一般设置5-30ms
#define LV_INDEV_DEF_READ_PERIOD 5 输入设备刷新周期,5-30ms
#define LV_TICK_CUSTOM 1 设置0就是LVGL的lv_tick_inc函数来计数的时钟源(裸机移植有),设置为1就是用自定义的时钟源(也就是系统的时基)
#define LV_DPI_DEF 130 默认的大小,具体的小部件可以自己设置大小
时基的意思就是最小的时间基准,计时的最小单位,比如秒脉冲,周期是1S,用这个基准计时的话时间最小可以精确到秒。
类似FreeRTOS每隔1ms进行任务切换需要时基,lvgl执行一些任务也需要用到时基、
4.特征选项
1.GPU设置
#define LV_USE_GPU_STM32_DMA2D 0 设置STM32的GPU
2.日志设置

#define LV_LOG_LEVEL LV_LOG_LEVEL_WARN,宏填写LV_LOG_LEVEL_WARN也就是日志只输出不想发生的信息,宏填写LV_LOG_LEVEL_TRACE就是记录大量信息
用printf来查看lvgl的错误(这种printf不需要用户调用、lvgl直接就调用printf打印日志了)
3 断言设置
#define LV_USE_ASSERT_NULL
#define LV_USE_ASSERT_MALLOC
#define LV_USE_ASSERT_STYLE
#define LV_USE_ASSERT_MEM_INTEGRITY
#define LV_USE_ASSERT_OBJ
断言作用:这些宏设置为1就可以检查对应的错误,如果出现错误那么通过日志可以打印出来错误
另外,如果发生断言定义的错误,那么还可以添加自定义处理程序
5 其他功能
1显示帧率和显示内存碎片

帧率作用:设置帧率可以判断出屏幕有没有被优化
2 编译器设置

3字库设置

4 核心控件和拓展控件的使用


6第三方库的使用
FATFS、Png、BMP等
7 使用官方的demo

文章详细介绍了LVGL图形库的颜色配置、内存管理宏定义,包括使用内置SRAM提高性能,以及自定义内存管理。还讨论了硬件性能参数如显示屏和输入设备的刷新周期,时基的概念,以及GPU支持和日志、断言的设置。此外,提到了显示帧率的监控、编译器设置、字库和核心及拓展控件的使用,以及如何利用第三方库如FATFS、Png、Bmp等,并通过官方Demo来理解和应用LVGL。
172

被折叠的 条评论
为什么被折叠?



