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

[讨论] MTK6226设置LCD窗口问题

[复制链接]
发表于 2008-8-1 19:59:24 | 显示全部楼层 |阅读模式
企图使用如下函数设置LCD窗口为全屏,把该函数放到LCD的INIT函数调用它是可以刷全屏红色,也就是说窗口设置是生效的;但是在手机进入IDLE后,再调用该函数,则无法将LCD窗口设置为全屏(我的一个应用要求先将LCD窗口设置为全屏,如果不是全屏则不能正常显示;如果在调用后挂起系统也不能看到红色),但是通过调用blockwrite函数是可以设置为全屏的。我感到很困惑,请求达人指点。
谢谢!

void SetFullScreen(void)
{
        kal_uint16 start_row      = 0;   
        kal_uint16 end_row        = 319;
        kal_uint16 start_column   = 0;
        kal_uint16 end_column     = 239;
        int row, col;

        LCD_CtrlWrite_COMM(0x0046);
        LCD_DataWrite_COMM((end_column<<8)|start_column);
        LCD_CtrlWrite_COMM(0x0048);
        LCD_DataWrite_COMM(start_row);
        LCD_CtrlWrite_COMM(0x0047);
        LCD_DataWrite_COMM(end_row);
       
        LCD_CtrlWrite_COMM(0x0022);
        // write red color
        for (row=start_row; row<=end_row; row++)
        {
            for (col=start_column; col<=end_column; col++)
            {
                LCD_DataWrite_COMM(0xf800);
            }
        }
}
发表于 2008-8-5 09:12:03 | 显示全部楼层
47 48 是设定 start_row 和 start_column的吧
点评回复

使用道具 举报

发表于 2008-8-5 09:13:43 | 显示全部楼层
楼主的 46 47 48 三个寄存器设置很奇怪,我感觉
点评回复

使用道具 举报

 楼主| 发表于 2008-8-6 16:36:19 | 显示全部楼层
46是列,因为239在8bit内,所以使用了一个寄存器,低八位是开始,高八位是结束;
行的最大值是319,超过8bit表示范围所以起始与结束分别使用了一个16bit寄存器,47,48;
在初始化中,我只刷新指定的区块,也是正确的。
点评回复

使用道具 举报

发表于 2008-8-7 16:15:01 | 显示全部楼层
na[em13]
点评回复

使用道具 举报

发表于 2008-11-18 00:37:32 | 显示全部楼层
power ctl
点评回复

使用道具 举报

发表于 2008-11-18 20:12:38 | 显示全部楼层
看看是否有其他地方更改了设置?
点评回复

使用道具 举报

发表于 2009-1-25 15:46:20 | 显示全部楼层
[em08][em14][em13]
点评回复

使用道具 举报

发表于 2009-2-3 20:21:35 | 显示全部楼层
关注中。。。。[em14][em14]
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

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

GMT+8, 2024-10-6 09:26 , Processed in 0.044683 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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