【GD32学习】 LVGL Demo测试

1 篇文章 0 订阅

文章目录


前言

        上一篇已经将lvgl源码移植到工程中,这里要配置demo例程,跑一下demo程序看看

准备

移植好lvgl的工程


一、修改  lv_port_disp.c

1、使能 lv_port_disp.c

修改头晚间包含 lv_port_disp_template改为lv_port_disp

 编译报错和警告,没有定义水平MY_DISP_HOR_RES、垂直分辨率MY_DISP_VER_RES和 最大水平分辨率MY_DISP_VER_RES

 通过这里我们可以看到如果我们没有自己定义 水平MY_DISP_HOR_RES、垂直分辨率MY_DISP_VER_RES,编译会警告,并且会提供默认的分辨率

 我们在外面自己定义即可

下面这里提供了三中刷屏方式,我们根据自己的硬件资源选择其中一种方式即可,其中第三种方式用到了MY_DISP_VER_RES 我们如果不用第三种刷新方式选择注释掉即可,我这里选择第二种刷新方式,注释掉第一种和第三种凡事如下,

 

 因为我们选择第二种,所以我们也要修改 显示buff改为buff2如下

 编译通过

 

 

2、根据实际情况修改  lv_conf.h

1、选RGB565

2、打开帧率和内存占用信息显示

 

 

3、添加自己的屏幕刷新程序如下

 

二、添加心跳到ms中断

1、这个心跳在 lv_hal_tick.c 源文件下,我们把它移到SysTick_Handler 嘀嗒定时器毫秒中断中,也可以自己开一个ms定时器放到定时器中断中

 

三、添加demo程序

1、添加lv_examples.h头文件

 

2、初始化lvgl、lcd、example

/**
 * @brief   初始化lvgl
 */
void user_lvgl_init(void)
{
    lv_init();              // lvgl初始化
    user_lcd_init();        // lcd 硬件初始化     
    lv_port_disp_init();    // 显示初始化  
    lv_example_led_1();     // demo 演示
}

3、将lv_timer_handler()放到死循环中,不断轮询,这里放到rtos线程中

void user_lvgl_task_run(void* pvParameters )
{
    while(1)
    {
        lv_timer_handler();
        vTaskDelay(1);
    }
}

4、lv_conf.h文件配置

a、由于硬件使用的是SPI 宽度为8位传输,所以修改这里,否则异常

b、修改字体大小,由于我的显示屏太小,需要改一下,显示的字体不然显示不下


 

 

 c、由于我的屏幕太小,还有修改demo程序上的显示位置,不然无法完全显示

,其它箭头的地方也改动一点 

效果,27的FPS ,7%的资源占用,效果还是可以的,显示大小还需调整

 

总结

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: gd32f450是一款基于ARM Cortex-M4内核的高性能微控制器,具有超强的计算能力和丰富的外设资源。而lvgl是轻量级可嵌入的图形显示库,适用于多种嵌入式设备。gd32f450与lvgl的结合,可以为嵌入式系统带来更加丰富的人机交互界面。 使用gd32f450和lvgl,可以实现各种自定义的图形界面和用户交互效果,比如可以构建按钮、文本框、图形化界面、动态数据展示、滑动条等界面元素,实现基于触摸屏交互的嵌入式应用,如家电控制器、医疗器械、手持设备等。同时,lvgl的精简设计使其非常适合微控制器等资源受限的环境,也方便了开发人员。 gd32f450和lvgl的应用场景非常广泛,比如在物联网、智能家居、智能手机、智能手表等领域都有应用,可以提高用户的使用体验和应用的整体性能。随着人机交互界面越来越重要,gd32f450和lvgl的应用也越来越受到开发者和企业的重视。 ### 回答2: gd32f450是一款高性能微控制器芯片,它采用了ARM Cortex-M4F内核,集成了64KB SRAM和512KB闪存,同时还配备了多种外设接口,如ADC、TIM、USART等。gd32f450是RISC-V基金会推荐的MCU平台之一,兼容Cortex-M4指令集,支持多种软件工具链和软件协议。 而lvgl是一个开源的图形界面库,它提供了一系列简单易用的API,可以让用户快速构建高质量的嵌入式图形界面。lvgl支持多种平台和操作系统,如Arduino、Linux、FreeRTOS等。同时,它还具有强大的图形渲染功能,支持多种图形效果和主题样式。 将gd32f450和lvgl结合使用,可以实现更加优秀的图形界面嵌入式应用程序。gd32f450的高性能和外设接口可以为lvgl提供更稳定可靠的底层硬件支持,而lvgl的强大图形功能则可以为gd32f450的应用程序提供更美观、易用的用户界面。 总之,gd32f450和lvgl是两个非常优秀的开源工具,它们的结合可以帮助开发人员构建出更优秀的嵌入式图形界面应用,促进嵌入式应用的发展。 ### 回答3: gd32f450是一款集成了ARM Cortex-M4核心的32位微控制器,它具有优秀的性价比和高度的兼容性。lvgl是一个开源的GUI(图形用户界面)库,它提供了一系列丰富的图形控件和动画效果,可以帮助开发者快速构建现代化的用户界面。gd32f450和lvgl的结合可以为嵌入式应用程序提供高性能的图形界面支持,在工业自动化、智能家居、医疗仪器和智能手表等领域得到广泛应用。 在使用gd32f450和lvgl开发嵌入式应用程序时,需要注意以下几个方面: 1. 确认开发板支持gd32f450芯片和lvgl库,同时需要配置好开发环境和编译工具链。 2. 使用lvgl提供的API接口,通过代码控制图形控件的创建、布局和事件处理,还可以实现动画效果、字体和图标等。 3. 由于gd32f450采用了硬件加速的方式来加速图形渲染,因此需要对图形渲染的流程进行优化,并确保绘图流程和屏幕刷新速度之间的协调。 4. 在开发过程中,需要严格控制代码的质量和安全性,尽可能避免出现内存泄露、越界访问和调用不合理的API等问题。 综上所述,gd32f450和lvgl的结合为嵌入式应用程序带来了更高的灵活性和可扩展性,帮助开发者快速构建惊艳的图形界面并实现丰富的功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值