找回密码
 立即注册
楼主: zhx

完成DMA TFT显示后,访问Xdata 的数据就会错误

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:14
  • 最近打卡:2025-08-01 14:18:25

22

主题

105

回帖

878

积分

高级会员

积分
878
发表于 2025-6-26 14:42:13 | 显示全部楼层

BIN.h (6.79 KB, 下载次数: 28)
STCPinit.H (2.57 KB, 下载次数: 26)

回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:14
  • 最近打卡:2025-08-01 14:18:25

22

主题

105

回帖

878

积分

高级会员

积分
878
发表于 2025-6-26 14:45:00 | 显示全部楼层
erci*** 发表于 2025-6-26 13:27
这个好像是P2P操作空间和str声明空间重叠导致的
将操作空间减小#define DMA_AMT_LEN         (20480UL)
将 ...

我用的是 P2P,不应该有Xram 参与了
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:303
  • 最近打卡:2025-08-23 00:13:14
已绑定手机

13

主题

190

回帖

1841

积分

金牌会员

积分
1841
发表于 2025-6-26 15:20:26 | 显示全部楼层
好的,解决了就好
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:14
  • 最近打卡:2025-08-01 14:18:25

22

主题

105

回帖

878

积分

高级会员

积分
878
发表于 2025-6-26 15:21:59 | 显示全部楼层
原因找到了:
使用 DMA_QSPI时,虽然选的P2P模式,DMA还是要有一块缓存的,
定义一个缓存
DMA_QSPI_RXAH = (uint8_t)&DMA_buff;    //设置 DMA 缓冲区起始地址
DMA_QSPI_RXAL = (uint16_t)&DMA_buff >> 8;
就不会冲掉其他的数据,而且MCU好像并不从这个缓存里读数据给 LCM,我把它设置到 RAM 地址之外都可以!

回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:14
  • 最近打卡:2025-08-01 14:18:25

22

主题

105

回帖

878

积分

高级会员

积分
878
发表于 2025-6-26 15:25:35 | 显示全部楼层
C_w*** 发表于 2025-6-26 15:20
TFT_ShowStart(x, y,avi[index].width,avi[index].height);

  j=(u16)(len / DMA_AMT_LEN);

程序没问题,只要我不用Xdata 数据就没事,不是这个原因
回复

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-8-24 04:30 , Processed in 0.126852 second(s), 71 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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