纵享丝滑!全志R128+LVGL驱动多尺寸RGB LCD屏幕流畅运行

2023-12-22 11:23:01

新晋点屏神器,R128!各种屏幕都能点!

ezgif.com-optimize (11).gif

高刷、大屏、宽色域......通常来讲,显示器的配置越高,越能给使用者带来优于其它一般配置显示器的体验。但就某些特殊的使用场景来讲,选择配置合适的显示屏幕,才能更精准地匹配上实际的使用需求。

无论是工控监视设备、平板电脑、笔记本电脑等带屏产品,还是平时开发者在DIY掌机、小电脑、桌面机器人等电子设备时,都需要通过使用不同尺寸的RGB屏幕来满足特定的需求。

R128和LVGL的组合就为这一类的应用场景提供了解决方案的另一种选择,对内存及处理器性能的低要求,可以让LVGL很好的适配不同尺寸的RGB屏幕以及各种应用场景。

  • 7寸方屏(1024x600)

    ezgif.com-video-to-gif-converted.gif

  • 4寸方屏(480x480)

    ezgif.com-video-to-gif-converted (1).gif

  • 4寸圆屏RGB(480x480)

    ezgif.com-video-to-gif-converted (2).gif

R128适配RGB LCD配置

如动图展示,其中最大的屏幕是 7寸1024x600分辨率,lvgl测试不加触摸能跑60多帧,加触摸是58帧左右,4寸480x480分辨率的屏幕时,R128的lv_benchmark跑分显示可达247fps,实现伪高刷。

640.png

R128目前以支持移植百问网的7寸(1024x600)、4寸方屏(480x480)、4寸圆屏RGB(480x480)。

不同尺寸RGB屏幕的sys_config.fex配置有微小差异,以4寸方屏RGB配置代码为例:


4寸方屏(480x480)
;lcd_driver_name     = "default_lcd"
;lcd_backlight       = 150
;lcd_if              = 0
;lcd_x               = 480
;lcd_y               = 480
;lcd_width           = 70
;lcd_height          = 70
;lcd_rb_swap         = 1
;lcd_dclk_freq       = 9
;lcd_pwm_used        = 1
;lcd_pwm_ch          = 7
;lcd_pwm_freq        = 500000
;lcd_pwm_pol         = 1
;lcd_hbp             = 20
;lcd_ht              = 526
;lcd_hspw            = 6
;lcd_vbp             = 10
;lcd_vt              = 510
;lcd_vspw            = 4
;lcd_lvds_if         = 0
;lcd_lvds_colordepth = 1
;lcd_lvds_mode       = 0
;lcd_frm             = 1
;lcd_io_phase        = 0x0000
;lcd_gamma_en        = 0
;lcd_bright_curve_en = 0
;lcd_cmap_en         = 0

#触摸配置
4寸方屏(480x480) GT911
;tp_max_x               = 480
;tp_max_y               = 480
;tp_addr                = 0x14

7CBE9CDC-A3FD-4ce6-B051-8EC233D71A08.png

LVGL配置修改以下内容:


/*Color depth: 1 (1 byte per pixel), 8 (RGB332), 16 (RGB565), 32 (ARGB8888)*/
#define LV_COLOR_DEPTH 32  /*这里可以改为16,因为de会自动转换到32位,最终显示还是32位色深*/

/*Swap the 2 bytes of RGB565 color. Useful if the display has an 8-bit interface (e.g. SPI)*/
#define LV_COLOR_16_SWAP 0

#ifndef USE_EVDEV
#  define USE_EVDEV           1
#endif

以上配置完成后,编译打包烧录,上电后屏幕背光亮起,屏幕为黑色,并且可以在 LOG 中看到 SPI 初始化的 LOG。


disp:[disp_device_attached_and_enable 230]attached ok, mgr0<-->dev0
disp:[disp_device_attached_and_enable 243]type:1,mode:0,fmt:rgb,bits:8bits,eotf:4,cs:0 dvi_hdmi:2, range:2 scan:0 ratio:8
[gt911][log] PRODUCT_ID=39:31:31:00:60:10
[gt911][log] verison=00 range_x=0 range_y=0 point_num=0
[gt911][log] PRODUCT_ID=39:31:31:00:60:10
[gt911][log] verison=42 range_x=480 range_y=480 point_num=5

开发资源

Gitee源码获取链接:100ask_r128_demos: 基于R128SDK提供的底层接口而编写的应用示例
GitHub源码获取链接:https://github.com/100askTeam/100ask_r128_demos

ezgif.com-video-to-gif-converted (3).gif

更多关于项目的详情可以前往百问网R128综合项目开发案例界面了解:R128使用RGB LCD | 百问网

应用拓展

在其它规格及尺寸屏幕上的LVGL运行效果对比也可以参考以下文章,文章内将对比了LVGL运行在R128平台时,SPI与DBI在不同型号屏幕下的性能差异。
相关阅读:SPI 与 DBI 性能对比 - R128

640.png

能进行虚拟光渲交互的智能家居中控,基于开源项目移植的NWatch智能手表,它们的产品形态其实类似,只是在屏幕的选择规格上有明显差异。

相关阅读:你相信光吗?开源一个能进行虚拟光渲交互的D1s智能家居中控 | 全志在线开发者论坛

640.gif

相关阅读:小时候画在手腕上的表,我让他真正动了起来 | 全志在线开发者论坛

640 (1).gif

在原文链接演示的链接回复中,也可以发现有的开发者基于R128+LVGL的搭配实现了普通灯珠的点阵屏控制效果图,丰富的音视频接口为R128应对不同场景的需求提供了便利。

6E85F489-20E6-477f-B322-0064B4B0AF69.png

文章来源:https://blog.csdn.net/weixin_43094346/article/details/135146069
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。