硬汉嵌入式论坛

 找回密码
 立即注册
查看: 619|回复: 8
收起左侧

LTDC的图层混合问题

[复制链接]

8

主题

19

回帖

43

积分

新手上路

积分
43
发表于 2023-10-26 17:06:00 | 显示全部楼层 |阅读模式
请教一下大伙,我用STM32F429+LTDC+DMA驱动RGB屏,开了两个图层,都可以正常显示格式RGB565图片,请问我要如何实现弹窗的功能?
我的想法是LTDC_Layer1显示背景,LTDC_Layer2显示弹窗界面,显示弹窗时LTDC_Layer1透明度设置为127,LTDC_Layer2透明度设置为255,显示效果为LTDC_Layer2的弹窗区域会混合LTDC_Layer1的画面;
我尝试调用了标准库的函数LTDC_LayerSize接口,修改了LTDC_Layerx->CFBLR和LTDC_Layerx->CFBLNR,实际效果LTDC_Layer2的区域是变小了,但是非图层区域就直接变成了默认的黑色

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106826
QQ
发表于 2023-10-26 20:38:09 | 显示全部楼层
这个使用emWin接管方便些,支持双图层管理,方便显示区裁剪展示。
回复

使用道具 举报

8

主题

19

回帖

43

积分

新手上路

积分
43
 楼主| 发表于 2023-10-27 09:08:29 | 显示全部楼层
目前还没有时间学习emWin的接口函数,emWin的裸机驱动工程倒是已经配置好了,没使用就是怕出现了bug不知道怎么定位解决,因为不熟悉
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106826
QQ
发表于 2023-10-28 08:54:38 | 显示全部楼层
13450334834 发表于 2023-10-27 09:08
目前还没有时间学习emWin的接口函数,emWin的裸机驱动工程倒是已经配置好了,没使用就是怕出现了bug不知道 ...

双图层透明部分要做裁剪,这个麻烦些。用GUI的话,他们做好了,省事些。
回复

使用道具 举报

8

主题

19

回帖

43

积分

新手上路

积分
43
 楼主| 发表于 2023-10-30 09:18:46 | 显示全部楼层
eric2013 发表于 2023-10-28 08:54
双图层透明部分要做裁剪,这个麻烦些。用GUI的话,他们做好了,省事些。

1. 可以请教一下双图层透明部分是如何进行裁剪的吗?我尝试过修改 LTDC_LxWHPCR和LTDC_LxWVPCR,区域是变小了,但区域外无法设置为透明,导致Layer1那部分的画面没有显示出来
回复

使用道具 举报

8

主题

19

回帖

43

积分

新手上路

积分
43
 楼主| 发表于 2023-10-31 11:41:59 | 显示全部楼层
eric2013 发表于 2023-10-26 20:38
这个使用emWin接管方便些,支持双图层管理,方便显示区裁剪展示。

您好,想再请教硬汉哥几个问题,希望能得到您的指导:
1. 我按照【32位SDRAM写速度狂飙300MB/S,读速度90MB/S,需要专业的SDRAM测试方案来进一步测试】该贴进行测试SDRAM,STM32F429,主频180MHz,SDRAM时钟90MHz,16位格式(硬件最大支持),读速度50MB/s,写速度158MB/s,工程优化等级O3,请问硬汉哥我测试得出的这个速度是在正常范围内吗?

2. 我看了【正确认识LTDC驱动RGB屏需要的显存带宽,很有意义的帖子,DMA2D,LTDC和CPU都在向SDRAM发起总攻】该贴,为什么这里读带宽的计算是LTDC时钟*2?写带宽的话要怎么计算?

3. 我的屏幕分辨率800*480,颜色格式RGB565,LTDC时钟30MHz,SDRAM时钟90MHz/16位格式,开启双图层的时候刷新会有撕裂感,我看了【据F429,F7的LCD应用笔记,外接32位和16位SDRAM不仅仅是带宽差一倍,可以配置的主频还低很多】该贴,是因为我超出了官方给出的最高时钟(22MHz)吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106826
QQ
发表于 2023-10-31 14:56:08 | 显示全部楼层
13450334834 发表于 2023-10-31 11:41
您好,想再请教硬汉哥几个问题,希望能得到您的指导:
1. 我按照【32位SDRAM写速度狂飙300MB/S,读速度9 ...

1、正常。
2、采用16bit颜色格式
3、对,得降低时钟。
回复

使用道具 举报

8

主题

19

回帖

43

积分

新手上路

积分
43
 楼主| 发表于 2023-10-31 16:29:43 | 显示全部楼层
eric2013 发表于 2023-10-31 14:56
1、正常。
2、采用16bit颜色格式
3、对,得降低时钟。

关于第二个问题我还是有疑惑:
在ST的官方文档里,只使用一层且开启LTDC+DMA2D的情况下,16位SDRAM的最大LTDC时钟为45MHz;如果是颜色格式是16Bit,那LTDC占用的读带宽是90MHz,这不是已经超出了SDRAM的读带宽了吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106826
QQ
发表于 2023-11-1 20:50:18 | 显示全部楼层
13450334834 发表于 2023-10-31 16:29
关于第二个问题我还是有疑惑:
在ST的官方文档里,只使用一层且开启LTDC+DMA2D的情况下,16位SDRAM的最 ...

不是这个意思,我那个帖子是140MB/S的速度,如果是16bit颜色格式,那么就相当于70MHz*2字节,我是想表达这个意思。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-6 01:49 , Processed in 0.247912 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表