OpenEdv-开源电子网

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

STM32F407探索者显示位图有拉窗帘效果,如何处理?

[复制链接]

2

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2015-12-16
在线时间
10 小时
发表于 2015-12-16 10:04:11 | 显示全部楼层 |阅读模式
5金钱
       STM32F407探索者+4.3寸屏(480×800),使用Bitmap converter for emWin将图片(480×800分辨率)转换成C文件后烧写进单片机,调用GUI_BMP_Draw()显示图片时有拉窗帘效果,而且时间很长,大概1秒多吧,这个时间慢是因为读取flash慢,还是因为驱动LCD打点的速度慢,有什么好办法处理吗?
      看到论坛内有大神用CPLD+SRAM的方案驱动LCD,先将图片数据写入SRAM在通过CPLD快速刷屏,可以避免拉窗帘效果。但是如果这个拉窗帘效果是由FLASH读取速度造成的,是不是用这种方案从发送显示命令到显示出图片也会有一定的延时?
      望有经验大神指点一二,不胜感激!!!

最佳答案

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

回复【3楼】txg19850920: --------------------------------- 可能两者原因都有。 单色刷屏时候颜色数据都在RAM中,没有从Flash读取再加载到内存再到屏幕的过程。 另外CPLD外部应该是SDRAM吧? 一般来说,为了保证显示效果,都是把全部图片数据加载进RAM中再显示,而不是从Flash中一点一点读取加载。跟电脑内存大 跑程序快一个道理
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2015-12-16 10:04:12 | 显示全部楼层
回复【3楼】txg19850920:
---------------------------------
可能两者原因都有。

单色刷屏时候颜色数据都在RAM中,没有从Flash读取再加载到内存再到屏幕的过程。

另外CPLD外部应该是SDRAM吧?

一般来说,为了保证显示效果,都是把全部图片数据加载进RAM中再显示,而不是从Flash中一点一点读取加载。跟电脑内存大 跑程序快一个道理
回复

使用道具 举报

2

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2015-12-16
在线时间
10 小时
 楼主| 发表于 2015-12-16 10:04:12 | 显示全部楼层
回复【4楼】ricefat:
---------------------------------
嗯,跟你说的差不多

今天试验了下,开了emWin存储设备功能,图片刷新速度跟打纯色点差不多

不过从Flash中把数据读到emWin存储设备开辟的RAM中还是需要点时间,看来时间主要消耗在读Flash上了

总的感觉就是图片出现有一点延时了,基本就是读Flash的时间

看来要快速切换图片必须得有大容量的SDRAM支持了

谢谢你了
回复

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2015-12-16 16:55:02 | 显示全部楼层
407只能用FSMC,速度没法跟专用控制器比。
一般为了加快显示速度都是把数据放到速度更高的内存中,再输出到屏幕
F429就是通过SDRAM当显存同时采用专用LCD驱动器来实现高速图像显示
回复

使用道具 举报

2

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2015-12-16
在线时间
10 小时
 楼主| 发表于 2015-12-16 17:20:27 | 显示全部楼层
回复【2楼】ricefat:
---------------------------------
407刷图片慢是因为读FLASH浪费时间还是因为FSMC速度不够快?
如果是FSMC速度问题,那为什么使用单独颜色刷屏的时候速度就很快呢?
回复

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2015-12-17 19:45:30 | 显示全部楼层
回复【5楼】txg19850920:
---------------------------------
需要F429以上的片子了,407不带有SDRAM控制器
回复

使用道具 举报

2

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2015-12-16
在线时间
10 小时
 楼主| 发表于 2015-12-17 20:43:15 | 显示全部楼层
回复【6楼】ricefat:
---------------------------------
哦 ,那如果做界面的话用429比较划算吧
回复

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2015-12-17 20:56:13 | 显示全部楼层
回复【7楼】txg19850920:
---------------------------------
不一定,看你的需要的效果。用单片机玩显示特效不是个好主意。
回复

使用道具 举报

2

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2015-12-16
在线时间
10 小时
 楼主| 发表于 2015-12-18 09:01:54 | 显示全部楼层
回复【8楼】ricefat:
---------------------------------
就是做些带界面的东西,觉得emWin做出的界面没有图片漂亮,想做一些图片做界面背景,不希望切换界面的时候感觉到延时

之前用过几次成品的串口屏(周立功的),界面就用的图片,发送命令切换界面

但成本太高了,而且数据量大了就不行了
回复

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2015-12-18 17:05:42 | 显示全部楼层
回复【9楼】txg19850920:
---------------------------------
那估计F429+SDRAM是个不错的选择。把图片资源载入RAM再进行操作
回复

使用道具 举报

2

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2015-12-16
在线时间
10 小时
 楼主| 发表于 2015-12-21 17:55:57 | 显示全部楼层
回复【10楼】ricefat:
---------------------------------
嗯嗯,基本上明白了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-21 16:07

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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