LVGL移植STM32\GD32 keil工程

LVGL移植STM32\GD32的方法基本一样

1.下载LVGL,直接官网或github下载压缩包,也可以使用squareline studio生成的文件,但似乎新版的squareline studio生产的项目多了一些东西,没有完全适配

2.用GD32工程导入LVGL源代码和移植文件,添加头文件路径

3,修改配置文件lv_conf.h,lv_port_disp.c(显示设置),lv_port_indev.c(触摸设置),lv_port_fs.c(文件系统),和对应的头文件

if 0 改为if 1

添加相应的初始化代码、描点、按键等代码

根据实际情况设置显示屏尺寸、缓存等

4.修改lv_port_disp.c中的disp_flush函数

最简单的(最慢的):

复制代码
static void disp_flush(lv_disp_drv_t * disp_drv, const lv_area_t * area, lv_color_t * color_p)
{
    if(disp_flush_enabled) {
        /*The most simple case (but also the slowest) to put all pixels to the screen one-by-one*/

        int32_t x;
        int32_t y;
        for(y = area->y1; y <= area->y2; y++) {
            for(x = area->x1; x <= area->x2; x++) {
                /*Put a pixel to the display. For example:*/
                /*put_px(x, y, *color_p)*/
                LCD_Fast_DrawPoint(x,y,color_p->full);
                color_p++;
            }
        }
    }

    /*IMPORTANT!!!
     *Inform the graphics library that you are ready with the flushing*/
    lv_disp_flush_ready(disp_drv);
}
复制代码

 

5.生成一个简单的ui

6.编写main.c

posted @   shang的学习园地  阅读(768)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示