您尚未登录。

楼主 # 2024-05-11 10:20:38

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,379
积分: 1344.5

请问,rgb888和argb8888,区别大吗?

d133,跑lvgl例程,硬件上是画了rgb888接口到lcd。然后sdk里菜单配置lcd也是rgb888, 顺序是bgr。
lvgl配置里,有个色深,只有16和32可选,我就选了32。
结果运行后,屏幕有些区域有些闪,字体看不到,或者放大发虚。

按群友配置,rgb565,色深16,就正常了。我又改成argb8888,色深32,也正常了。
rgb888的话,我的理解是正好通过24条信号线传到了屏里。那么argb8888呢?这是怎么传输的啊?lcd颜色信号线只有24条啊。

另,lcd配置里还有个data mirror选项,这个是干什么用的?

  │ │                                rgb mode (PRGB)  --->                                                                         │ │
  │ │                                interface format (PRGB 24 BIT)  --->                                                          │ │
  │ │                                data order (BGR)  --->                                                                        │ │
  │ │                                clock phase select (0 degree)  --->                                                           │ │
  │ │                            [ ] data mirror                                                                                   │ │
  │ │

离线

#1 2024-05-11 10:34:45

armstrong
会员
注册时间: 2019-04-10
已发帖子: 287
积分: 196.5

Re: 请问,rgb888和argb8888,区别大吗?

rgb888,argb8888这种表达的是像素在内存里的布局,其中rgb888可以是3字节,也可以是4字节(最高字节忽略);而argb8888是4字节(最高字节是透明度)。他们送到显示屏时都是24位色。内存像素布局和显示屏RGB信号没有必然对应的关系!
比如内存布局是rgb888,通过LCD控制器也可以输出RGB565的颜色信号,同时也可以翻转R/B。

离线

#2 2024-05-11 10:38:33

Elio
会员
注册时间: 2023-12-27
已发帖子: 5
积分: 15

Re: 请问,rgb888和argb8888,区别大吗?

@Gentlepig
1、RGB888跟ARGB888是显示引擎DE处理的数据源格式,ARGB888在数据源上一个像素点是4Byte数据,比RGB888一个像素点3Byte数据多1个Alpha Byte。对于LCD接口,这两种数据源格式在经过DE处理后,都只收到24bit的RGB信号。
2、data-mirror应该是D[7:0]转换成D[0:7],不太确定,可以查看下LCD接口的用户手册看看

离线

楼主 #3 2024-05-11 14:27:04

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,379
积分: 1344.5

Re: 请问,rgb888和argb8888,区别大吗?

受教,明白了些,感谢两位。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn