阿波罗F429 LTDC的接线方式除了RGB565可以支持带透明度的格式吗?

2019-07-20 12:25发布

      对TLDC这块的理解不是很透彻,阿波罗F429LTDC的接线方式除了支持RGB565格式可以支持带透明度的格式吗?比如RGB1555
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
taizonglai
1楼-- · 2019-07-20 17:19
最高支持RGB8888,但是RGB565也可以带透明的,通过DMA2D来配合。还有LTDC支持什么样的格式书册里面有详细的设置
业未央
2楼-- · 2019-07-20 22:59
 精彩回答 2  元偷偷看……
呵呵呵开西寨
3楼-- · 2019-07-20 23:34
 精彩回答 2  元偷偷看……
业未央
4楼-- · 2019-07-21 00:54
好像是可以支持的,跟层的颜 {MOD}格式参数设置有关系,如果想显示透明效果设置第二层的颜 {MOD}格式带alpha通道,混合系数使用像素alpha*恒定alpha,像素点中的alpha值就可以参与运算实现透明效果了,同时需要使能抖动单元,晚上回去了试一下
业未央
5楼-- · 2019-07-21 04:52
zuozhongkai 发表于 2017-6-13 09:54
最高支持RGB8888,但是RGB565也可以带透明的,通过DMA2D来配合。还有LTDC支持什么样的格式书册里面有详细的 ...

LTDC LCD(RGB屏实验) 这个例程:
   void LTDC_Layer_Parameter( u8 layx ,u32 bufaddr,u8 pixformat,u8 alpha,u8 alpha0,
                                 u8 bfac1,u8 bfac2,u32 bkcolor
                         )
对层参数配置的这个函数中,对混合因子的配置有下面两句话:
       
        pLayerCfg.BlendingFactor1=(u32)bfac1<<8;   
        pLayerCfg.BlendingFactor2=(u32)bfac2<<8;       

第一句对第一个混合因子BF1的配置左移8位没有问题,但是第二句代码对混合因子BF2的配置就有问题了,BF2在寄存器的低3位,坐移8位以后及会覆盖到BF1的配置。可以追踪HAL库最终的配置结果。
       这样配置BF2,如果第二层带alpha通道的格式比如用ARGB8888格式,使用 恒定alpha*像素alpha 这个模式感觉没问题,可以正常的混合也有透明效果,但是想使用恒定的alpha混合就会发现,恒定的alpha混合是无效的,第二句代码改成:
                        pLayerCfg.BlendingFactor2=(u32)bfac2;
就可以。
  
    你测试下例程中这里是不是有这样的bug。


taizonglai
6楼-- · 2019-07-21 06:09
 精彩回答 2  元偷偷看……

一周热门 更多>