找回密码
 注册
搜索
查看: 1208|回复: 7

[讨论] 请教论坛高手一个关于LCD刷屏的问题

[复制链接]
发表于 2007-4-23 17:42:42 | 显示全部楼层 |阅读模式
小弟想在LCD初始化完了之后刷一个红屏,所以在LCD_init()函数里的最后面直接加了一个发0xf800的命令,结果机器开不起来了,请问是怎么回事?
是我命令写错了吗?请问想刷个红屏需要进行哪些操作~~
谢谢回答的大大
 楼主| 发表于 2007-4-23 19:36:08 | 显示全部楼层
论坛里这么多高手怎么没人来指点一下呢?
我还想问一下MT6226里用来刷屏的ram是哪一个?
点评回复

使用道具 举报

发表于 2007-4-23 23:24:30 | 显示全部楼层
LCD_init()函数里的最后面直接加了一个发0xf800的命令?

应该在开显示的命令前,对全屏写0xf800,用两个for循环,
点评回复

使用道具 举报

 楼主| 发表于 2007-4-24 09:13:51 | 显示全部楼层
对全屏写0xF800是指发足够多0xf800数据还是命令?是在screenon前写还是在pwon前吗?
[此贴子已经被作者于2007-4-24 10:56:14编辑过]
点评回复

使用道具 举报

发表于 2007-4-26 11:20:46 | 显示全部楼层
你开不了机确定跟刷红屏有关吗?
另外刷红屏大概程序过程:
1.初始化序列
2.开背光
3.DISP_CMD_OUT(RAM_addr);
4.循环送数据
                  for (i=0; i<max_num; i++)
                  {
                      DISP_DATA_OUT(0xf800);
                  }

[em01]
点评回复

使用道具 举报

发表于 2009-1-27 17:46:30 | 显示全部楼层
关注中[em10][em10]
点评回复

使用道具 举报

发表于 2009-5-11 01:24:47 | 显示全部楼层
学习中..................
点评回复

使用道具 举报

发表于 2009-5-11 12:51:24 | 显示全部楼层
在MTK平台的話, 您可以利用參考代碼 lcd.c 中以下函式實現.

LCD_ClearAll_XXXX(0xF800);

這裡基本上, 先是會針對 driver IC 設置 window address, RAM write command.(不同driver需要設置的寄存器也不同.)

// window setting.
LCD_CtrlWrite_XXXX(0x0044);
LCD_DataWrite_XXXX((((x2&0xFF)<<8)|(x1&0xFF)));
LCD_CtrlWrite_XXXX(0x0045);
LCD_DataWrite_XXXX((((y2&0xFF)<<8)|(y1&0xFF)));
LCD_CtrlWrite_XXXX(0x0021);
LCD_DataWrite_XXXX((((y1&0xFF)<<8)|(x1&0xFF)));

LCD_CtrlWrite_XXXX(0x0022);  // RAM write

之後就根據分辨率寫一段 for loop.

for(LCD_y=y1;LCD_y<=y2;LCD_y++)
{
        for(LCD_x=x1;LCD_x<=x2;LCD_x++)
        {
                *((volatile unsigned short *) LCD_XXXX_DATA_ADDR)=data;
        }
}

以上例子是針對 16bit 接口.
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

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

GMT+8, 2024-12-27 12:49 , Processed in 0.044601 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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