硬汉嵌入式论坛

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

STM32 429 V6显存操作(读取复制)问题

[复制链接]

1

主题

17

回帖

20

积分

新手上路

积分
20
发表于 2016-5-27 16:20:54 | 显示全部楼层 |阅读模式
各位大神,我在V6板子上想做内存复制,是想做图像复制的实验。  
由于看到bsp_TFT_DrawPixel(uint16_t posX,uint16_t posY, uint16_t color) 这一函数中的写操作是:
      *(__IO uint16_t*)(CurrentFrameBuffer + 2*((LcdWidth*posY) + posX)) = color;
所以想到把*(__IO uint16_t*)(CurrentFrameBuffer + 2*((LcdWidth*posY) + posX))读取出来并赋值给其它坐标对应的这一个表达式就应该可以实现了,


问题出来了,经过尝试不能实现图像赋值,进一步通过jlink调试发现读取之后的值是2016,用串口打印出来也是2016,如图:

调试代码

调试代码

打印

打印


还想请教各位大神如何实现这样的图像复制。
我一直都是优,你叫我怎么从良.
回复

使用道具 举报

1

主题

17

回帖

20

积分

新手上路

积分
20
 楼主| 发表于 2016-5-27 16:24:43 | 显示全部楼层
真心求助
我一直都是优,你叫我怎么从良.
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117530
QQ
发表于 2016-5-27 16:28:53 | 显示全部楼层
bsp_TFT_DrawPixel这个函数在哪里,应该不是我们写的。
======================================================
看了你写,没发现什么问题,图像复制用DMA2D,简单方便。
回复

使用道具 举报

1

主题

17

回帖

20

积分

新手上路

积分
20
 楼主| 发表于 2016-5-27 17:17:21 | 显示全部楼层
谢谢eric
已经找到原因了。
是由于个人疏忽 CurrentFrameBuffer 这个值已经变了,我读取的都是第一层图层的值,但是后面画在第二层的图读出来还是读第一层的值。
谢谢。
我一直都是优,你叫我怎么从良.
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-12 20:07 , Processed in 0.041002 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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