OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5574|回复: 30

关于2.8寸tft屏LCD_Clear函数的问题造成闪屏现象的问题

[复制链接]

40

主题

259

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2016-5-19
在线时间
192 小时
发表于 2018-7-18 13:55:35 | 显示全部楼层 |阅读模式
80金钱
本帖最后由 h418452224 于 2018-7-20 16:36 编辑

因为在每个界面对应的函数开头,用了LCD_Fill函数,用按键切换菜单界面的时候,发现存在闪屏现象,看的很不舒服。但是又不能去掉这个清屏函数,因为去掉后,切换界面会造成多重叠加显示。有些界面需要显示图片,有些界面都是单纯的文字,所以逐行清除不可行啊。我DEBUG模式里发现填充满整个液晶界面需要0.3秒。我单片机主频72M,内部闪存128K。整个个菜单显示3张64X64的图片和10多个24x24的字都是用的内部闪存,屏幕连接的方式是16位并口,参考了原子哥给的硬件资料。求大神们给意见。多谢!

最佳答案

查看完整内容[请看2#楼]

你这个没有好办法哦。速度不够。 一般这种要加缓存,先加载到缓存,然后再更新到液晶屏的。 直接清屏后刷图,肯定会有闪烁感。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-7-18 13:55:36 | 显示全部楼层
你这个没有好办法哦。速度不够。
一般这种要加缓存,先加载到缓存,然后再更新到液晶屏的。

直接清屏后刷图,肯定会有闪烁感。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

40

主题

259

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2016-5-19
在线时间
192 小时
 楼主| 发表于 2018-7-18 15:19:54 | 显示全部楼层
自己顶一下,
回复

使用道具 举报

40

主题

259

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2016-5-19
在线时间
192 小时
 楼主| 发表于 2018-7-18 15:20:29 | 显示全部楼层
帖子被小广告给刷下去了
回复

使用道具 举报

20

主题

450

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4926
金钱
4926
注册时间
2017-7-6
在线时间
721 小时
发表于 2018-7-18 15:51:19 | 显示全部楼层
按键切换界面怎么会重叠,在按键处理的时候,清一次屏啊  不需要每个界面的函数清屏  而且请屏一次也不会那么严重 闪吧  MCU那么快
我是小白,很白很白的小白!!!
回复

使用道具 举报

0

主题

51

帖子

0

精华

高级会员

Rank: 4

积分
654
金钱
654
注册时间
2016-12-14
在线时间
332 小时
发表于 2018-7-18 21:48:19 来自手机 | 显示全部楼层
加缓存,先写缓存再写到屏
回复

使用道具 举报

6

主题

153

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1323
金钱
1323
注册时间
2016-12-27
在线时间
156 小时
发表于 2018-7-19 07:54:18 | 显示全部楼层
一般清屏都是很快的呀,你的板子是不是硬件接触是不是有点问题。如果显示屏东西不是很多的话,可以采取逐行覆盖吧
回复

使用道具 举报

40

主题

259

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2016-5-19
在线时间
192 小时
 楼主| 发表于 2018-7-19 09:08:07 | 显示全部楼层
大瓶子凌凌漆 发表于 2018-7-19 07:54
一般清屏都是很快的呀,你的板子是不是硬件接触是不是有点问题。如果显示屏东西不是很多的话,可以采取逐行 ...

大神你的逐行覆盖的意思是不用LCD_CLEAR函数?
回复

使用道具 举报

40

主题

259

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2016-5-19
在线时间
192 小时
 楼主| 发表于 2018-7-19 09:08:18 | 显示全部楼层
大瓶子凌凌漆 发表于 2018-7-19 07:54
一般清屏都是很快的呀,你的板子是不是硬件接触是不是有点问题。如果显示屏东西不是很多的话,可以采取逐行 ...

大神你的逐行覆盖的意思是不用LCD_CLEAR函数?
回复

使用道具 举报

40

主题

259

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2016-5-19
在线时间
192 小时
 楼主| 发表于 2018-7-19 09:10:35 | 显示全部楼层
程功之道 发表于 2018-7-18 15:51
按键切换界面怎么会重叠,在按键处理的时候,清一次屏啊  不需要每个界面的函数清屏  而且请屏一次也不会那 ...

切换界面时屏幕闪动一下,肉眼能看的出来。切换界面快了之后,就一闪一闪,显示效果不是很好
回复

使用道具 举报

40

主题

259

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2016-5-19
在线时间
192 小时
 楼主| 发表于 2018-7-19 09:11:50 | 显示全部楼层
szjx1212 发表于 2018-7-18 21:48
加缓存,先写缓存再写到屏

感觉内部FLASH已经够用的。显示没几个字和3张64X64的图片
回复

使用道具 举报

6

主题

153

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1323
金钱
1323
注册时间
2016-12-27
在线时间
156 小时
发表于 2018-7-20 08:00:13 | 显示全部楼层
h418452224 发表于 2018-7-19 09:08
大神你的逐行覆盖的意思是不用LCD_CLEAR函数?

就是往原来有显示字的那一行写背景色
回复

使用道具 举报

40

主题

259

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2016-5-19
在线时间
192 小时
 楼主| 发表于 2018-7-20 09:20:20 | 显示全部楼层
大瓶子凌凌漆 发表于 2018-7-20 08:00
就是往原来有显示字的那一行写背景色

我DEBUG模式下看了下时间,在while(1)里用个背景色,填充整块液晶的时间是0.3秒,填充一1/10的面积是0.03秒。0.3秒多的时间,怪不得肉眼能看的很清楚切换在闪动
回复

使用道具 举报

40

主题

259

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2016-5-19
在线时间
192 小时
 楼主| 发表于 2018-7-20 09:34:57 | 显示全部楼层
大瓶子凌凌漆 发表于 2018-7-20 08:00
就是往原来有显示字的那一行写背景色

但是我仔细观察,就算是用逐行覆盖,按键按下切换菜单的时候,还是会出现肉眼可见的闪动。以前老式诺基亚直板手机切换界面菜单的时候是很平滑,不会出现屏幕闪烁的。想做成那样子的
回复

使用道具 举报

40

主题

259

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2016-5-19
在线时间
192 小时
 楼主| 发表于 2018-7-20 16:35:59 | 显示全部楼层
顶一下
回复

使用道具 举报

0

主题

51

帖子

0

精华

高级会员

Rank: 4

积分
654
金钱
654
注册时间
2016-12-14
在线时间
332 小时
发表于 2018-7-20 16:42:15 | 显示全部楼层
h418452224 发表于 2018-7-19 09:11
感觉内部FLASH已经够用的。显示没几个字和3张64X64的图片

缓存可以把显示的内容一次性显示出来
回复

使用道具 举报

40

主题

259

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2016-5-19
在线时间
192 小时
 楼主| 发表于 2018-7-20 16:43:21 | 显示全部楼层
szjx1212 发表于 2018-7-20 16:42
缓存可以把显示的内容一次性显示出来

是在电路板上加个外部缓存芯片么?
回复

使用道具 举报

0

主题

51

帖子

0

精华

高级会员

Rank: 4

积分
654
金钱
654
注册时间
2016-12-14
在线时间
332 小时
发表于 2018-7-20 17:49:27 | 显示全部楼层
不用加芯片,STM32的RAM够了
回复

使用道具 举报

0

主题

45

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
224
金钱
224
注册时间
2016-9-14
在线时间
32 小时
发表于 2018-7-21 14:40:25 | 显示全部楼层
楼主,你的问题解决了吗
回复

使用道具 举报

4

主题

79

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
294
金钱
294
注册时间
2018-1-31
在线时间
46 小时
发表于 2018-7-21 15:59:11 | 显示全部楼层
填充背景色要0.3秒?
16位接口,是FSMC还是自己拼凑的IO?
回复

使用道具 举报

40

主题

259

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2016-5-19
在线时间
192 小时
 楼主| 发表于 2018-7-23 08:54:19 | 显示全部楼层
正点原子 发表于 2018-7-18 13:55
你这个没有好办法哦。速度不够。
一般这种要加缓存,先加载到缓存,然后再更新到液晶屏的。

多谢原子哥。。
回复

使用道具 举报

40

主题

259

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2016-5-19
在线时间
192 小时
 楼主| 发表于 2018-7-23 08:59:11 | 显示全部楼层
正点原子 发表于 2018-7-18 13:55
你这个没有好办法哦。速度不够。
一般这种要加缓存,先加载到缓存,然后再更新到液晶屏的。

不过我奇怪的是内部的刷图都卡,再加个外部的,不是有多了一个步骤,速度更加慢了么?
回复

使用道具 举报

40

主题

259

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2016-5-19
在线时间
192 小时
 楼主| 发表于 2018-7-23 08:59:54 | 显示全部楼层
屋脊雀 发表于 2018-7-21 15:59
填充背景色要0.3秒?
16位接口,是FSMC还是自己拼凑的IO?

就是B0到B15口。跟MINI板上的连线一样的
回复

使用道具 举报

40

主题

259

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2016-5-19
在线时间
192 小时
 楼主| 发表于 2018-7-23 09:00:32 | 显示全部楼层
大哥大雷神 发表于 2018-7-21 14:40
楼主,你的问题解决了吗

请看原子哥的回答
回复

使用道具 举报

40

主题

259

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2016-5-19
在线时间
192 小时
 楼主| 发表于 2018-7-23 09:00:44 | 显示全部楼层
szjx1212 发表于 2018-7-20 17:49
不用加芯片,STM32的RAM够了

谢谢大神!
回复

使用道具 举报

40

主题

259

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2016-5-19
在线时间
192 小时
 楼主| 发表于 2018-7-23 11:42:36 | 显示全部楼层
szjx1212 发表于 2018-7-20 17:49
不用加芯片,STM32的RAM够了

TFT大神,我看了你的一些回复,都是很多关于操作UI的。小白请教下您如何用缓存实现一次性加载。这方面的程序有么?或者给个思路?
回复

使用道具 举报

40

主题

259

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2016-5-19
在线时间
192 小时
 楼主| 发表于 2018-7-23 16:51:54 | 显示全部楼层
szjx1212 发表于 2018-7-20 17:49
不用加芯片,STM32的RAM够了

大神,我的板子上的SRAM只有20K,好像显示几张图片和10几个字有点吃力啊。
回复

使用道具 举报

40

主题

259

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2016-5-19
在线时间
192 小时
 楼主| 发表于 2018-7-23 16:54:17 | 显示全部楼层
szjx1212 发表于 2018-7-20 17:49
不用加芯片,STM32的RAM够了

论坛里查找了下帖子。好多方案都是F429的。跪求大神在我现在的硬件基础上给个方向,实现切换界面显示图片不闪烁,多多感谢了!
回复

使用道具 举报

0

主题

51

帖子

0

精华

高级会员

Rank: 4

积分
654
金钱
654
注册时间
2016-12-14
在线时间
332 小时
发表于 2018-7-25 10:48:56 | 显示全部楼层
h418452224 发表于 2018-7-23 16:54
论坛里查找了下帖子。好多方案都是F429的。跪求大神在我现在的硬件基础上给个方向,实现切换界面显示图片 ...

只显示图片和文字103可以做到,找一个GUI,闪烁是软件方面的问题
回复

使用道具 举报

40

主题

259

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2016-5-19
在线时间
192 小时
 楼主| 发表于 2018-7-25 16:08:27 | 显示全部楼层
szjx1212 发表于 2018-7-25 10:48
只显示图片和文字103可以做到,找一个GUI,闪烁是软件方面的问题

好的,谢谢,我现在正在看原子的STemwin视频教程
回复

使用道具 举报

40

主题

259

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2016-5-19
在线时间
192 小时
 楼主| 发表于 2018-7-25 16:08:47 | 显示全部楼层
szjx1212 发表于 2018-7-25 10:48
只显示图片和文字103可以做到,找一个GUI,闪烁是软件方面的问题

好的,谢谢,我现在正在看原子的STemwin视频教程
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-17 17:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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