OpenEdv-开源电子网

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

关于STM32驱动TFT(SSD1289控制器)图像重叠问题

[复制链接]

13

主题

49

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
315
金钱
315
注册时间
2012-8-28
在线时间
22 小时
发表于 2012-8-28 16:20:49 | 显示全部楼层 |阅读模式
   用STM32读取SD卡内部的BMP图片,显示在TFT上,然后做一个鼠标指针在这个图片上移动。这样移动后会把显示在TFT上的图片给破坏掉(擦除)。
我看到原子哥的视频上有个USB鼠标画图的功能,鼠标移动并不破坏背后的图片,请问这个是怎么实现的?(我的理解是,SSD1289开辟2个显存,并且可以重叠,但是貌似我还不知道这个渣开辟)


急急急~~~求解!!  
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2012-8-28 17:09:34 | 显示全部楼层
回复【楼主位】lushp88:
---------------------------------
读-->保存-->改-->恢复。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

13

主题

49

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
315
金钱
315
注册时间
2012-8-28
在线时间
22 小时
 楼主| 发表于 2012-8-28 17:48:56 | 显示全部楼层
谢谢原子哥,我以前也是这么做的,我的方法是每次显示指针之前(或刷新)都读取要显示那块区域的图片像数据,然后再显示指针,也就是这种模式 “读->保存->显示指针->(如果指针位置有变化)则又读->保存.." 这样会也出现重叠(因为第二次读的数据是第一修改过的数据)。刚刚我想了下,我这种模式是错了,应该是“读要显示的区域1->保存buff1[]->改区域1->如果指针要移动->读取要移动到的区域2(如果区域2和区域1有重叠要读取buff1的数据)->保存buff2[]->buff1恢复区域1->改区域2”,不知道这样对不对,这样处理数据就大了,我怕到时候屏刷新会很慢。
回复 支持 反对

使用道具 举报

33

主题

489

帖子

6

精华

金牌会员

Rank: 6Rank: 6

积分
1565
金钱
1565
注册时间
2011-12-10
在线时间
4 小时
发表于 2012-8-28 18:22:36 | 显示全部楼层
回复【3楼】lushp88:
---------------------------------
我就是这么做的,因为这样用到的内存不多(两个矩形缓冲),用F4处理起来很流畅,我是用来移动图标的,而不是移动指针,处理的区域要大些.
学习交流请加Q群:242876057(STM32F4交流群)
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2012-8-28 20:44:21 | 显示全部楼层
回复【3楼】lushp88:
---------------------------------
不会出现重叠啊。
你只要确保每次写之前,都把之前读的数据还原,同时读取要写的区域后,再写。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

13

主题

49

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
315
金钱
315
注册时间
2012-8-28
在线时间
22 小时
 楼主| 发表于 2012-8-28 22:25:14 | 显示全部楼层
            



 
问题已经解决,谢谢原子。

回复 支持 反对

使用道具 举报

13

主题

49

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
315
金钱
315
注册时间
2012-8-28
在线时间
22 小时
 楼主| 发表于 2012-8-28 22:29:07 | 显示全部楼层
回复【4楼】骤雨龙元:
---------------------------------
我用的F103的,速度慢很多,不过现在我知道之前的错误在哪里了,应该不会慢。
回复 支持 反对

使用道具 举报

13

主题

49

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
315
金钱
315
注册时间
2012-8-28
在线时间
22 小时
 楼主| 发表于 2012-8-28 22:31:25 | 显示全部楼层
回复【6楼】lushp88:
---------------------------------
补充,一个缓存区就行。
回复 支持 反对

使用道具 举报

33

主题

489

帖子

6

精华

金牌会员

Rank: 6Rank: 6

积分
1565
金钱
1565
注册时间
2011-12-10
在线时间
4 小时
发表于 2012-8-29 00:10:59 | 显示全部楼层
回复【8楼】lushp88:
---------------------------------
一个缓冲是可以,但会有闪烁感,一般不这么做.
学习交流请加Q群:242876057(STM32F4交流群)
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-27 13:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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