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

2019-07-20 12:25发布

      对TLDC这块的理解不是很透彻,阿波罗F429LTDC的接线方式除了支持RGB565格式可以支持带透明度的格式吗?比如RGB1555
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
业未央
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。


一周热门 更多>