找回密码
 注册
搜索
查看: 817|回复: 4

[讨论] 请教下LCD一段驱动代码的涵义

[复制链接]
发表于 2008-8-20 22:22:17 | 显示全部楼层 |阅读模式
void LCD_blockClear_ST7787(kal_uint16 x1,kal_uint16 y1,kal_uint16 x2,kal_uint16 y2,kal_uint16 data)
{
                ......
               SET_LCD_CMD_PARAMETER(0,LCD_CMD, 0x02);
                SET_LCD_CMD_PARAMETER(1,LCD_DATA, ((x1&0xff00)>>8));
                SET_LCD_CMD_PARAMETER(2,LCD_CMD, 0x03);
                SET_LCD_CMD_PARAMETER(3,LCD_DATA, (x1&0xff));
               
                SET_LCD_CMD_PARAMETER(4,LCD_CMD, 0x04);
                SET_LCD_CMD_PARAMETER(5,LCD_DATA, ((x2&0xff00)>>8));
                SET_LCD_CMD_PARAMETER(6,LCD_CMD, 0x05);
                SET_LCD_CMD_PARAMETER(7,LCD_DATA, (x2&0xff));
               
                SET_LCD_CMD_PARAMETER(8,LCD_CMD, 0x06);
                SET_LCD_CMD_PARAMETER(9,LCD_DATA, ((y1&0xff00)>>8));
                SET_LCD_CMD_PARAMETER(10,LCD_CMD, 0x07);
                SET_LCD_CMD_PARAMETER(11,LCD_DATA, (y1&0xff));
               
                SET_LCD_CMD_PARAMETER(12,LCD_CMD, 0x08);
                SET_LCD_CMD_PARAMETER(13,LCD_DATA, ((y2&0xff00)>>8));
                SET_LCD_CMD_PARAMETER(14,LCD_CMD, 0x09);
                SET_LCD_CMD_PARAMETER(15,LCD_DATA, (y2&0xff));

        SET_LCD_CMD_PARAMETER(16,LCD_CMD, 0x22);
                  
                SET_LCD_ROI_CTRL_NUMBER_OF_CMD(17);
                ......
}
发表于 2008-8-21 10:01:57 | 显示全部楼层
BLOCK WRITING函数,
设置向LCD里写入图象的位置与大小,
这段函数之后就开始写数据咯
点评回复

使用道具 举报

 楼主| 发表于 2008-8-22 11:08:46 | 显示全部楼层
我想知道这个函数为什么这样写,跟硬件有什么关系
点评回复

使用道具 举报

发表于 2008-8-22 13:28:20 | 显示全部楼层
BLOCK WRITE函数跟LCD驱动IC里行列地址起始位结束位相应寄存器的设置有关吧
比如你这个函数里,就是把行起始位,行结束位,列起始位,列结束位分别丢到02H-09H这8个寄存器里
随后写0X22,开始往LCD IC的GRAM里送图象数据咯。。
点评回复

使用道具 举报

 楼主| 发表于 2008-8-22 14:00:31 | 显示全部楼层
谢谢楼上的大哥
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

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

GMT+8, 2024-10-6 04:05 , Processed in 0.052271 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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