AnsweredAssumed Answered

LPC1788的LCD显示与SDRAM读写发生冲突的问题

Question asked by wang kuan on Dec 14, 2018
Latest reply on Jan 4, 2019 by wang kuan

本人使用的是800*480的TFT,频率设置的是30M(最大可支持46M),FATFS版本是R0.11a,SDRAM大小是32M。

LCD显示没问题,SDRAM读写没问题。

在SD卡中有一个244KB的A文件,程序中有一个大小为1024字节的buff在SDRAM中(通过__at设置的),buff地址与LCD的SDRAM的显示区域不冲突

进行了如下几种测试:

1.LCD初始化正常显示之后,通过f_read从文件中循环读取1024字节大小的数据到buff中,之后又会把buff中的数据写到一个新的文件中B文件。结束后发现,A文件与B文件不一样。并且每次结束后的B文件都各不相同

2.将buff放在内部RAM中,同样进行1中的操作,结束后,A文件与B文件总是完全一样

3.仍然将buff放在SDRAM中LCD不进行初始化,进行1中的文件操作,结束后,A文件与B文件总是完全一样

4.将LCD换成320*240的TFT,频率设置成8M,同样进行1中的操作。结束后,A文件与B文件,有时候完全一样,有时候不一样

除了上面的四个现象外,还有一个现象,不知道是否跟lcd显示与SDRAM读写冲突相关,这里也列出来,方便大佬分析:

仍然使用800*480TFT,将LCD的频率设为40M,把320*240图片加载到SDRAM中,显示时会出现图片瞬移的现象,比如设置的图片显示位置是(0,0),它会在(500,0)的位置显示一下,然后又回到(0,0)。

这些,我实在琢磨不透,不知道程序中到底哪个配置出错了,还是什么其他没有想到的问题,希望能在这里找到答案,万分感谢!

Outcomes