硬汉嵌入式论坛

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

[GUI] STM32H7+LVGL界面切换残影

[复制链接]

38

主题

75

回帖

189

积分

初级会员

积分
189
发表于 5 天前 | 显示全部楼层 |阅读模式
各位,


我用STM32H7B0 + LVGL,在LVGL中有两个界面,一个主界面A,界面背景是深绿色,一个是子界面B,界面背景是红色,我在由A切换到B的时候,界面切换的瞬间我能看到有深绿色的残影,同理,
由B切换到A的时候,界面切换的瞬间我能看到有红色的残影,体验很不好。

我是用FMC + DMA 驱动LCD,开了cache,分辨率320x240 LCD,LVGL开了双缓冲(非全尺寸)。

请教下大家,这个残影可能是什么原因导致的,如何解决呢?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 4 天前 | 显示全部楼层
要开真正意义上的全尺寸,且硬件双缓冲才可以很好的解决,看看你的屏支持不

基于V5,V6和V7的LVGL模板,驱动支持单缓冲,双缓冲和配合硬件消隐的双缓冲,以及电容和电阻触摸全支持(2023-07-19)
https://forum.anfulai.cn/forum.p ... 0161&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

38

主题

75

回帖

189

积分

初级会员

积分
189
 楼主| 发表于 4 天前 | 显示全部楼层
eric2013 发表于 2025-8-7 08:10
要开真正意义上的全尺寸,且硬件双缓冲才可以很好的解决,看看你的屏支持不

基于V5,V6和V7的LVGL模板, ...

我的屏是一个小屏,分辨率320x240,控制器是ST7789V,所以接口是SPI或者FMC 16bit,没有用到H7的LTDC+DMA2D,所以也就没有外挂SDRAM,用的都是MCU内部的RAM,如果开全尺寸,可能RAM也不够了。你说的硬件双缓冲我这个屏应该不支持了。

那我这个问题是不是无解了?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 3 天前 | 显示全部楼层
coolaimcu 发表于 2025-8-7 08:45
我的屏是一个小屏,分辨率320x240,控制器是ST7789V,所以接口是SPI或者FMC 16bit,没有用到H7的LTDC+DMA ...

只能合理设置界面效果来缓解了,各个界面主题色可以使用基本差不多的。
回复

使用道具 举报

5

主题

40

回帖

55

积分

初级会员

积分
55
发表于 3 天前 | 显示全部楼层
coolaimcu 发表于 2025-8-7 08:45
我的屏是一个小屏,分辨率320x240,控制器是ST7789V,所以接口是SPI或者FMC 16bit,没有用到H7的LTDC+DMA ...

应该是FMC往LCD填数据时的访问地址和LCD内部刷新逻辑访问的地址冲突了
使用默认方向情况下,有TE脚或者有命令查询LCD的刷新行就能解决
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 前天 09:28 | 显示全部楼层
p00equal1 发表于 2025-8-8 09:13
应该是FMC往LCD填数据时的访问地址和LCD内部刷新逻辑访问的地址冲突了
使用默认方向情况下,有TE脚或者有 ...

7789不支持
回复

使用道具 举报

38

主题

75

回帖

189

积分

初级会员

积分
189
 楼主| 发表于 8 小时前 | 显示全部楼层
eric2013 发表于 2025-8-8 08:54
只能合理设置界面效果来缓解了,各个界面主题色可以使用基本差不多的。

我也是这样想的,也只能这样了。哎,这种FMC接口的小屏也只能做做简单的静态UI了,动态的完全不能胜任
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-11 20:54 , Processed in 0.041322 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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