找回密码
 注册
搜索
查看: 926|回复: 8

[讨论] 窗口偏移分析处理

[复制链接]
发表于 2009-12-11 23:07:25 | 显示全部楼层 |阅读模式
遇到个问题,搞了很费力,
屏的显示,没有花屏,不过有时会在X或Y方向发生偏移,左面的图标跑右面去了,底部的button bar跑顶部去了。
首先确保blockwrite是无误的,内部控制寄存器的位数和写入的命令是否一致。
考虑了2个方向,1.时序造成的,2.初始化中的频率设定也就是功耗可能引起,这个主要是基于panel从GRAM中读取显示数据,即帧频和MCU(DMA)向GRAM中写入数据是否同步来考虑。首先调节时序,调节1,2,4的参数使得write signal的速度变慢或变快。后面调节方法2中的频率问题。

最终把这些尝试了后,基本上没有起到效果,那么就想,是否可能是屏的ic有问题,这样考虑做个测试,在开机后,在屏幕上画一条线,这条线有很多个单像素大小的窗口组成,如果线不是完整,说明屏自身有问题。
《》这样的话,首先要屏蔽掉blockwrite,这样开机后才会一直停留在清屏的状态。
《》在init中的最后先刷屏,可以把屏整个刷成白色(整个方法在上面处理开机闪屏中写过了,一样)//必须的这一步,不然开机后整个屏是花的,你看不出那条线了
然后就要画n个单像素大小的窗口了,看它组成的一条线是否可以正常显示
    #define   lcd_cdwrite(ctr,data)   LCD_CrtlWrite_SPFD5408(ctr);                                                         LCD_DataWrite_SPFD5408(data);

        {
                kal_uint16  i;
                for(i=0;i<LCD_WIDTH;i++)
                {
                        lcd_cdwrite(0x03,i);  // column start
                       lcd_cdwrite(0x05,i);   // column end
                       lcd_cdwrite(0x07,i);   // row  start
                       lcd_cdwrite(0x09,i);   // row  end
                       /*上面四句就设定了一个像素点大小的窗口,当然寄存器的地址不一定是这个*/
        LCD_CrtlWrite_SPFD5408(0x0022); //这条命令不能放在循环的外面,开启一个新窗口传输数据结束后,在开新窗口都需要这个命令
                       LCD_DataWrite_SPFD5408( 0xff40 ); //某个颜色,
                }
        }
这样处理后,开机后看显示的直线是否完全。
****************
水平有限,可能有的的地方说的不严谨或有误,请谅解和指正
发表于 2009-12-12 14:40:46 | 显示全部楼层
很easy的事情,所有出错的画面都是小窗口 ,不是完整的全屏画面。
出现这个问题的根本原因是LCD Driver的坐标系统地位和手机上的坐标系统不一致。
在LCD Driver的初始化更改设置,就OK了
点评回复

使用道具 举报

发表于 2010-3-24 19:34:01 | 显示全部楼层
确实很好,讲的比较透彻,深入浅出
本文来自:我爱研发网(52RD.com) - R&D大本营
详细出处:http://www.52rd.com/bbs/Detail_RD.BBS_154475_50_1_1.html
点评回复

使用道具 举报

发表于 2010-3-29 17:58:30 | 显示全部楼层
是 扫描错了把,修改下 driver display control寄存器的TB值(既修改drv其扫描方式)。
点评回复

使用道具 举报

发表于 2010-3-29 18:13:09 | 显示全部楼层
要是还不行,在修改driver display control寄存器的RL值看看
点评回复

使用道具 举报

发表于 2010-4-1 14:24:32 | 显示全部楼层
路过拿分
点评回复

使用道具 举报

发表于 2010-4-2 07:59:53 | 显示全部楼层
我也遇到了这个问题,请问楼主怎样解决的?
点评回复

使用道具 举报

发表于 2010-4-2 10:30:52 | 显示全部楼层
楼主,我也遇到了这个问题,请问怎样解决的啊,我现在头都大了。。。。
点评回复

使用道具 举报

发表于 2010-4-2 17:07:17 | 显示全部楼层
修改driver display control寄存器的RL、TB、SM值不行么?
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2025-1-9 02:06 , Processed in 0.063271 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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