找回密码
 立即注册
查看: 880|回复: 18

DMA-LCM显示图片不正确

[复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:57
  • 最近打卡:2025-02-15 09:09:48
已绑定手机

8

主题

26

回帖

306

积分

中级会员

积分
306
发表于 2024-12-10 10:41:27 | 显示全部楼层 |阅读模式

386A36165A79A55C5A20C263B75B44AA.pngB93E3705B52FAE7349AAA42045CF0A20.png
CEA1D0C40E730EA072D63655F3F43C13.png

unsigned char xdata Pic_buf[3072] 缓存大小

代码部分已经给出

问题是刷新的位置不是(0.0)而是屏幕下方,不清楚为什么,不使用DMA显示正常。

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6841

积分

论坛元老

积分
6841
发表于 2024-12-10 11:40:16 | 显示全部楼层

用的是什么型号的芯片?xdata使用了多少空间?

另外正常显示是什么样的?你的问题描述的还不是很清楚。

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 2024-12-10 11:50:42 | 显示全部楼层

先打开DMA并清FIFO,不要在DMA关闭状态进行任何DMA操作
截图202412101149497195.jpg

点评

顺序: 打开DMA并清FIFO 配置DMA 触发传输  详情 回复 发表于 2024-12-10 11:52
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 2024-12-10 11:52:45 | 显示全部楼层
Debu*** 发表于 2024-12-10 11:50
先打开DMA并清FIFO,不要在DMA关闭状态进行任何DMA操作

顺序:
打开DMA并清FIFO
配置DMA
触发传输
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:57
  • 最近打卡:2025-02-15 09:09:48
已绑定手机

8

主题

26

回帖

306

积分

中级会员

积分
306
发表于 2024-12-10 13:51:02 | 显示全部楼层

ST7789 8051U Xdata5600 正常显示是这样的

微信图片_20241210135021.jpg

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:57
  • 最近打卡:2025-02-15 09:09:48
已绑定手机

8

主题

26

回帖

306

积分

中级会员

积分
306
发表于 2024-12-10 13:56:02 | 显示全部楼层
乘风*** 发表于 2024-12-10 11:40
用的是什么型号的芯片?xdata使用了多少空间?
另外正常显示是什么样的?你的问题描述的还不是很清楚。
...

楼下发了正常显示的图,ST7789 8051U Xdata5600
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:57
  • 最近打卡:2025-02-15 09:09:48
已绑定手机

8

主题

26

回帖

306

积分

中级会员

积分
306
发表于 2024-12-10 14:52:37 | 显示全部楼层
Debu*** 发表于 2024-12-10 11:52
顺序:
打开DMA并清FIFO
配置DMA

跟这个先后顺序应该没啥关系,试验箱的程序都是先DMA_LCM_CR = 0x00;
经过测试应该是跟ST7789初始化有关,调一调X,Y偏移量?但是没有使用DMA显示又是正常的

点评

看视频是从第一行刷到最后一行的,刷新是对的,但是数据位置不对,看起来是从中间的地址开始刷,发完了又从头刷的  详情 回复 发表于 2024-12-10 15:17
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 2024-12-10 15:17:12 | 显示全部楼层
omns*** 发表于 2024-12-10 14:52
跟这个先后顺序应该没啥关系,试验箱的程序都是先DMA_LCM_CR = 0x00;
经过测试应该是跟ST7789初始化有关 ...

看视频是从第一行刷到最后一行的,刷新是对的,但是数据位置不对,看起来是从中间的地址开始刷,发完了又从头刷的
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 2024-12-10 15:22:03 | 显示全部楼层

逻辑分析仪看看LCM接口的信号
检查是否是使用DMA时意外修改了LCM的设置(ST7789内部的寄存器)
修改DMA时钟,降低速度到便于观察的速度,看看DMA先从哪个地址取数,先在屏幕的哪个位置开始刷新
检查这几个寄存器
截图202412101518115300.jpg
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 2024-12-10 15:23:42 | 显示全部楼层
还有检查是否速度过快导致异常,通信速度过快可能会导致这种异常
DebugLab
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-1 19:49 , Processed in 0.145848 second(s), 114 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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