LCD接口说明.docx

上传人:b****4 文档编号:3818862 上传时间:2022-11-25 格式:DOCX 页数:10 大小:41.43KB
下载 相关 举报
LCD接口说明.docx_第1页
第1页 / 共10页
LCD接口说明.docx_第2页
第2页 / 共10页
LCD接口说明.docx_第3页
第3页 / 共10页
LCD接口说明.docx_第4页
第4页 / 共10页
LCD接口说明.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

LCD接口说明.docx

《LCD接口说明.docx》由会员分享,可在线阅读,更多相关《LCD接口说明.docx(10页珍藏版)》请在冰豆网上搜索。

LCD接口说明.docx

LCD接口说明

 

LCD接口使用说明

 

版本:

1.0.0

SW-BASE-UG-0026

2004-06-09

D2

 

修订历史

版本

日期

作者

审核

说明

1.0.0

2004-06-09

Jim.zhang

Draft

 

重要声明

版权声明

版权所有©2004,展讯通信有限公司,保留所有权利。

商标声明

展讯通信有限公司和展讯通信有限公司的产品是展讯通信有限公司专有。

在提及其他公司及其产品时将使用各自公司所拥有的商标,这种使用的目的仅限于引用。

不作保证声明

展讯通信有限公司不对此文档中的任何内容作任何明示或暗示的陈述或保证,而且不对特定目的的适销性及适用性或者任何间接、特殊或连带的损失承担任何责任。

保密声明

本文档(包括任何附件)包含的信息是保密信息。

接收人了解其获得的本文档是保密的,除用于规定的目的外不得用于任何目的,也不得将本文档泄露给任何第三方。

 

目录

1介绍5

1.1范围5

1.2参考文档5

1.3缩写和定义5

2概述6

2.1文件组织6

2.2LCD屏幕坐标6

2.3LCD操作概述6

3接口函数说明7

3.1LCD硬件初始化7

3.2关闭LCD7

3.3获取LCD基本信息7

3.4刷新LCD8

3.5LCD全屏刷新9

3.6进入/退出睡眠9

3.7调节LCD的对比度10

4附录11

4.1数据结构11

4.1.1LCD信息结构LCD_INFO_T11

4.1.2LCDID类型LCD_ID_E11

4.1.3LCD错误类型ERR_LCD_E12

介绍

范围

本文描述LCD驱动软件的向上层如MMI所提供的API,作为应用程序设计人员必须的参考文档。

参考文档

缩写和定义

LCD

LiquidCrystalDisplay

MMI

Man-MachineInterface

概述

文件组织

lcd_api.h

该文件定义了所有的LCD接口函数,上层调用LCD提供的函数时需要包含该文件。

LCD屏幕坐标

LCD屏幕的坐标为二维坐标系统,设LCD宽为LCD-WIDTH,高为LCD-HEIGHT,则LCD屏幕的坐上交坐标表示为(0,0),右下角坐标表示为(LCD-WIDTH–1,LCD-HEIGHT–1)。

LCD操作概述

系统为每个LCD都分配了一个BUFFER,BUFFER中用于存放LCD上所有点颜色值,该BUFFER大小对应着LCD的屏幕大小,LCD上的每个PIXEL对应着BUFFER中的一个元素。

如果LCD的PIXEL的颜色为8BITS,则BUFFER的每个元素也同样为8BITS;如果LCD的PXIEL的颜色为12BITS,则BUFFER的每个元素为16BITS;如果LCD的每个PIXEL的颜色为16BITS则BUFFER中每个元素为16BITS;如果LCD每个PIXEL的颜色为24BITS,则BUFFER中每个元素为24BITS;如果LCD每个PIXEL的颜色为32BITS,则BUFFER中每个元素也同样为32BITS。

设LCD上一点坐标为(x,y),BUFFER头指针为buffer_ptr,则(x,y)对应与BUFFER中的位置为:

buffer_ptr+y*LCD-WIDTH+x。

上层如果要对LCD进行操作,首先需要获取该BUFFER的头指针,参考LCD_GetInfo()函数,然后对该BUFFER写入颜色值,最后调用LCD的刷新函数(LCD_InvalidateRect、LCD_Invalidate)即可。

另外,控制LCD进入睡眠模式可以降低系统的功耗。

接口函数说明

LCD硬件初始化

LCD_Init

初始化LCD硬件,如果有多个LCD,则同时被该函数初始化。

成功调用该函数后即可实现对LCD的操作。

此后,打开LCD的背景灯则可看见LCD屏幕上的内容。

PUBLICERR_LCD_ELCD_Init(void);

参数:

返回值:

ERR_LCD_NONE为初始化成功,其它值为错误代码。

参考:

LCD_Close

举例:

1.1关闭LCD

LCD_Close

关闭LCD,当关机时会调用此函数。

当有多个LCD设备时,该函数将关闭所有的LCD。

PUBLICvoidLCD_Close(void);

参数:

返回值:

参考:

LCD_Init

举例:

1.2获取LCD基本信息

LCD_GetInfo

获取LCD的基本信息。

具体参考LCD_INFO_T的定义。

上层调用此函数,可获取LCD的信息,如bits-per-pixel以及LCD的BUFFER指针,从而可以实现对LCD的直接操作。

PUBLICERR_LCD_ELCD_GetInfo(

LCD_ID_Elcd_id,LCD_INFO_T*lcd_info_ptr);

参数:

[in]lcd_id

欲操作LCD的ID,参考LCD_ID_E。

[out]lcd_inf_ptr

lcd的信息结构指针。

返回值:

ERR_LCD_NONE为调用成功,其它值为错误代码。

参考:

举例:

对点主屏上点(x,y)写入颜色0X0F0F的实现如下:

(假定lcd_info_ptr->bits_per_pixel=16)

LCD_GetInfo(MAIN_LCD_ID,lcd_info_ptr);

uint16*buf_ptr=(uint16*)lcd_info_ptr->lcdbuff_ptr;

uint16lcd_width=lcd_info_ptr->lcd_width;

uint16lcd_height=lcd_info_ptr->lcd_height;

*(uint16*)(buf_ptr+y*lcd_width+x)=0x0f0f;

然后根据需要调用LCD_Invalidate或者LCD_InvalidateRect函数刷新LCD有关区域。

1.3刷新LCD

LCD_InvalidateRect

刷新LCD的某一矩形区域。

该函数将LCDBUFFER中的颜色值写入到指定的区域中,如果该指定的区域超出了指定LCD的范围,则该函数将只刷新该指定区域与LCD区域的重叠部分,即LCD范围外的区域无效。

PUBLICERR_LCD_ELCD_InvalidateRect(

LCD_ID_Elcd_id,

uint16left,

uint16top,

uint16right,

uint16bottom

);

参数:

[in]lcd_id

LCDID

[in]left

矩形区域的左上角x坐标

[in]top

矩形区域的左上角y坐标

[in]right

矩形区域的右下角x坐标

[in]bottom

矩形区域的右下角y坐标

返回值:

ERR_LCD_NONE为操作成功,其他值为操作失败。

参考:

LCD_Invalidate

举例:

1.4LCD全屏刷新

LCD_Invalidate

对指定LCD的整个屏幕进行刷新。

PUBLICERR_LCD_ELCD_Invalidate(

LCD_ID_Elcd_id

);

参数:

[in]lcd_id

LCDID

返回值:

ERR_LCD_NONE为操作成功,其他值为操作失败。

参考:

LCD_InvalidateRect

举例:

1.5进入/退出睡眠

LCD_EnterSleep

控制LCD进入或者退出睡眠模式。

当LCD进入睡眠模式式,能降低功耗。

为了配合降低系统的功耗,在LCD进入睡眠模式时,应该同时关闭LCD的背景灯。

当推出睡眠模式后,也要打开LCD的背景灯才能显示LCD屏幕上的内容。

PUBLICERR_LCD_ELCD_EnterSleep(

LCD_ID_Elcd_id,

BOOLEANis_sleep

);

参数:

[in]lcd_id

LCDID

[in]is_sleep

SCI_TRUE---进入睡眠模式SCI_FALSE—退出睡眠模式

返回值:

ERR_LCD_NONE为执行成功,其它值为错误代码。

参考:

举例:

1.6调节LCD的对比度

LCD_SetContrast

调节LCD的对比度。

PUBLICERR_LCD_ELCD_SetContrast(

LCD_ID_Elcd_id,

uint16contrast

);

参数:

[in]lcd_id

LCDID

[in]contrast

对比度值,不同的LCD支持不同的取值范围。

调用LCD_GetInfo可以获取LCD对比度的最大值、最小值以及缺省值。

返回值:

ERR_LCD_NONE为设置对比度成功,其它值为错误代码。

参考:

LCD_GetInfo

举例:

 

附录

数据结构

LCD信息结构LCD_INFO_T

typedefstructlcd_info_tag

{

uint32r_bitmask;

uint32g_bitmask;

uint32b_bitmask;

uint16bits_per_pixel;

uint16lcd_width;

uint16lcd_height;

uint16contrast_min;

uint16contrast_max;

uint16contrast_defaut;

void*lcdbuff_ptr;

}LCD_INFO_T;

参数:

r_bitmaskr(Redcolor)的MASK值

g_bitmaskg(Greencolor)的MASK值

b_bitmaskb(Blackcolor)的MASK值

bits_per_pixel每个PIXLE的颜色表示位数

lcd_widthLCD的宽度(单位为PIXEL)

lcd_heightLCD的高度(单位为PIXEL)

contrast_minLCD支持的最小对比度

contrast_maxLCD支持的最大对比度

contrast_defautLCD的缺省对比度值

lcdbuff_ptrLCDBUFFER的头指针

LCDID类型LCD_ID_E

typedefenum

{

MAIN_LCD_ID=0,

SUB_LCD_ID,

MAX_LCD_ID

}LCD_ID_E;

参数:

MAIN_LCD_IDLCD主屏ID号,固定为0

SUB_LCD_IDLCD附屏ID号

MAX_LCD_ID保留ID,用户不可使用

LCD错误类型ERR_LCD_E

typedefenum

{

ERR_LCD_NONE=SCI_SUCCESS,

ERR_LCD_FUNC_NOT_SUPPORT,

ERR_LCD_PARAMETER_WRONG,

ERR_LCD_POINTER_NULL,

ERR_LCD_OPERATE_FAIL,

ERR_LCD_NOT_FOUND

}ERR_LCD_E;

参数:

ERR_LCD_NONE无错误

ERR_LCD_FUNC_NOT_SUPPORT,该LCD不支持该操作

ERR_LCD_PARAMETER_WRONG,输入参数错误

ERR_LCD_POINTER_NULL,指针为空

ERR_LCD_OPERATE_FAIL,操作失败

ERR_LCD_NOT_FOUND未发现LCD

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1