DMA-LCM显示图片不正确
<p><img src="https://www.stcaimcu.com/data/attachment/forum/202412/10/103635zlhmkldaliddak02.png" alt="386A36165A79A55C5A20C263B75B44AA.png" title="386A36165A79A55C5A20C263B75B44AA.png" /><img src="data/attachment/forum/202412/10/103616kipykbppz4lkkpn2.png" alt="B93E3705B52FAE7349AAA42045CF0A20.png" title="B93E3705B52FAE7349AAA42045CF0A20.png" /><br /><img src="https://www.stcaimcu.com/data/attachment/forum/202412/10/103623jfgzfagdnzb2n165.png" alt="CEA1D0C40E730EA072D63655F3F43C13.png" title="CEA1D0C40E730EA072D63655F3F43C13.png" /></p>
<p>unsigned char xdata Pic_buf 缓存大小</p>
<p>代码部分已经给出</p>
<video controls="controls" src="forum.php?mod=attachment&aid=71209"></video>
<p>问题是刷新的位置不是(0.0)而是屏幕下方,不清楚为什么,不使用DMA显示正常。</p>
<p>用的是什么型号的芯片?xdata使用了多少空间?</p>
<p>另外正常显示是什么样的?你的问题描述的还不是很清楚。</p>
先打开DMA并清FIFO,不要在DMA关闭状态进行任何DMA操作
DebugLab 发表于 2024-12-10 11:50
先打开DMA并清FIFO,不要在DMA关闭状态进行任何DMA操作
顺序:
打开DMA并清FIFO
配置DMA
触发传输 <p>ST77898051U Xdata5600 正常显示是这样的</p>
<p><img src="data/attachment/forum/202412/10/135345wncozw9tk2c2btkf.jpg" alt="微信图片_20241210135021.jpg" title="微信图片_20241210135021.jpg" /></p>
乘风飞扬 发表于 2024-12-10 11:40
用的是什么型号的芯片?xdata使用了多少空间?
另外正常显示是什么样的?你的问题描述的还不是很清楚。
...
楼下发了正常显示的图,ST7789 8051U Xdata5600 DebugLab 发表于 2024-12-10 11:52
顺序:
打开DMA并清FIFO
配置DMA
跟这个先后顺序应该没啥关系,试验箱的程序都是先DMA_LCM_CR = 0x00;
经过测试应该是跟ST7789初始化有关,调一调X,Y偏移量?但是没有使用DMA显示又是正常的 omnsvwle 发表于 2024-12-10 14:52
跟这个先后顺序应该没啥关系,试验箱的程序都是先DMA_LCM_CR = 0x00;
经过测试应该是跟ST7789初始化有关 ...
看视频是从第一行刷到最后一行的,刷新是对的,但是数据位置不对,看起来是从中间的地址开始刷,发完了又从头刷的
逻辑分析仪看看LCM接口的信号
检查是否是使用DMA时意外修改了LCM的设置(ST7789内部的寄存器)
修改DMA时钟,降低速度到便于观察的速度,看看DMA先从哪个地址取数,先在屏幕的哪个位置开始刷新
检查这几个寄存器
还有检查是否速度过快导致异常,通信速度过快可能会导致这种异常
页:
[1]
2