打印
[ZLG-ARM]

请教关于LCD刷屏刷不干净问题

[复制链接]
2370|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wlsui|  楼主 | 2007-5-1 19:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我现在做毕业设计用的是MagicARM2200实验箱上的LCM,控制器是S1D13503,LCD为5.2英寸320*240,彩色(触摸功能没用上)
我开始写了个前后台程序,用于自己的GUI,显示效果是正常的,但我将他复制到uC/OS-II中时却出现了屏刷不干净问题,绘图时有些点能正常

显示,有些点则好象没有变化,造成很多麻点。具体效果如下:(正常显示)

相关帖子

沙发
wlsui|  楼主 | 2007-5-1 19:57 | 只看该作者

上面那个是前后台情况下正常显示:

由于上传的图片大小最大只能300K,所以我对图片进行了裁剪
下面这个是在uC/OS-II下的情况,无法正常显示:

使用特权

评论回复
板凳
wlsui|  楼主 | 2007-5-1 20:03 | 只看该作者

AND:

这两个程序的绘图部分完全是一样的,而且在程序中除了绘图之外也没有其它的功能。
不过这好象与操作系统没有多大的关系,因为之前也出现过这种情况,就是同一个程序,之前运行LCD显示没有问题,但有的时候却会出现跟上面一样的问题(即屏刷不干净),请问这是什么原因呢?
请各位指教!

使用特权

评论回复
地板
xxqarm| | 2007-5-2 09:15 | 只看该作者

时序问题吧,可能时序太快了

使用特权

评论回复
5
mohanwei| | 2007-5-2 09:59 | 只看该作者

时钟滴答的影响?

使用特权

评论回复
6
wlsui|  楼主 | 2007-5-2 10:38 | 只看该作者

想过

如果说时序太快了,但为什么在前后台情况下正常呢?一样的运行速率啊
至于时钟节拍,我开始也想是不是由于时钟节拍的中断影响了屏幕的刷新,但我在绘图时关了中断也一样!

使用特权

评论回复
7
wlsui|  楼主 | 2007-5-2 11:57 | 只看该作者

现在可以了

现在可以了
是操作时序太快了,但问题是在前后台下 Fcclk 为 (Fosc * 6),其中Fosc为11059200,即 Fcclk 60多MHz,操作完全正常,而在操作系统下Fcclk 为 (Fosc * 3)时就不行了,不能正常显示,当Fcclk 为 (Fosc * 2)时才能正常显示.在操作系统下绘制图形时我已经将中断关了.
请问这是为什么呢?

使用特权

评论回复
8
foyyof| | 2007-5-2 12:56 | 只看该作者

总线配置?

使用特权

评论回复
9
wlsui|  楼主 | 2007-5-2 19:25 | 只看该作者

foyyof :

谢谢您的提醒.
现在问题已经解决了,就是总路线配置的问题.说到底,也就是操作太快了
在前后台的启动代码中关于BCFG3的配置的定义如下(S1D13503在BANK3):
BCFG_CS3   EQU   (BCFG_16DEF | (0x07<<00) | (0x0f<<05) | (0x0f<<11)) 
其中BCFG_16DEF为16位总线的定义,(0x07<<00)指CCLK空闲周期数为0x07+1,
而在uC/OS-II下启动代码中关于BCFG3的配置的定义为:
BCFG_CS3    EQU    (BCFG_16DEF | (0x01<<00) | (0x03<<05) | 0x03<<11)) 
CCLK空闲周期数仅为0x01+1,读写访问的长度也仅为0x03+3,这样就导致了操作总线过快,高于S1D13503的最快速度
现在我将前后台的启动代码BCFG3的配置值拷贝到uC/OS-II下就可以了,Fcclk改到6*11059200 LCD也能正常显示了
谢谢大家热情的帮助!
接着做我的毕业设计,再过三个星期就要交论文了

使用特权

评论回复
10
foyyof| | 2007-5-2 19:57 | 只看该作者

^^:

使用特权

评论回复
11
zlgARM| | 2007-5-3 09:49 | 只看该作者

吴*穗

祝贺你解决了问题。楼主是ZLG3+1班的学生。

使用特权

评论回复
12
zlgARM| | 2007-5-3 09:56 | 只看该作者

吴*穗

前后台的Fcclk不要设置得那么高啊,最好不要超过60MHz。

使用特权

评论回复
13
wlsui|  楼主 | 2007-5-3 10:43 | 只看该作者

呵呵

设置那么高主要是希望在读取ADC的数据时能够得到较高的速度
之前我测试过Fcclk好象到了80多MHz也不怎么出问题,不过到90多MHz程序就马上跑飞了
所以我将Fcclk设置为60多MHz,虽然手册上说最高只能为60MHz
不过设置这么高确实有比较大的风险,最怕的就是到到时候程序出现问题了却不知道是什么原因,看来在现阶段还是低点好

使用特权

评论回复
14
wlsui|  楼主 | 2007-5-3 10:46 | 只看该作者

AND:

还有建议将模板ARM Executable Image for UCOSII(MaigcARM2200)里的BCFG3配置改下,这样当别人拿这个模板来写关于LCD的程序时就不会出现这种问题了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

27

主题

263

帖子

1

粉丝