📄 lcddrive.h
字号:
/****************************************Copyright (c)**************************************************
** Guangzhou ZHIYUAN electronics Co.,LTD.
**
** http://www.zyinside.com
**
**--------------File Info-------------------------------------------------------------------------------
** File Name: lcddrive.h
** Last modified Date: 2005-12-31
** Last Version: v1.0
** Description: S3C2410的LCD驱动程序 (头文件)
** 针对LQ080V3DG01液晶模块的驱动程序 (640x480, TFT, 18BPP)
**------------------------------------------------------------------------------------------------------
** Created By: 黄绍斌
** Created date: 2005-12-31
** Version: v1.0
** Descriptions:
**
**------------------------------------------------------------------------------------------------------
** Modified by:Bisu[Shield]
** Modified date:2008-11-16 21:29:30
** Version:v1.1
** Descriptions:针对MCDNS-2410实验箱使用的friendly-arm和HITACHI的TFT屏TX20D16VM2BAA进行了适当的修改
**
*******************************************************************************************************/
#ifndef __LCDDRIVE_H
#define __LCDDRIVE_H
// 定义颜色数据类型(可以是数据结构)
#define TCOLOR uint16
// 定义LCM像素数宏
#define GUI_LCM_XMAX 800 /* 定义液晶x轴的点数 */
#define GUI_LCM_YMAX 480 /* 定义液晶y轴的点数 */
// 设置颜色宏定义 (格式: R=5, G=6, B=5)
#define BLACK 0x0000 /* 黑色: 0, 0, 0 */
#define NAVY 0x000F /* 深蓝色: 0, 0, 128 */
#define DGREEN 0x03E0 /* 深绿色: 0, 128, 0 */
#define DCYAN 0x03EF /* 深青色: 0, 128, 128 */
#define MAROON 0x7800 /* 深红色:128, 0, 0 */
#define PURPLE 0x780F /* 紫色: 128, 0, 128 */
#define OLIVE 0x7BE0 /* 橄榄绿:128, 128, 0 */
#define LGRAY 0xC618 /* 灰白色:192, 192, 192 */
#define DGRAY 0x7BEF /* 深灰色:128, 128, 128 */
#define BLUE 0x001F /* 蓝色: 0, 0, 255 */
#define GREEN 0x07E0 /* 绿色: 0, 255, 0 */
#define CYAN 0x07FF /* 青色: 0, 255, 255 */
#define RED 0xF800 /* 红色: 255, 0, 0 */
#define MAGENTA 0xF81F /* 品红: 255, 0, 255 */
#define YELLOW 0xFFE0 /* 黄色: 255, 255, 0 */
#define WHITE 0xFFFF /* 白色: 255, 255, 255 */
// 定义清屏色
#define GUI_CCOLOR BLACK
#ifndef IN_LCDDRIVE
#ifdef __cplusplus
extern "C" {
#endif
// 声明显示缓冲区
extern volatile uint16 FrameBuffer[GUI_LCM_YMAX][GUI_LCM_XMAX];
/********************************************************************************************************
** Function name: GUI_Initialize
** Descriptions: 初始化GUI,包括初始化显示缓冲区,初始化LCM并清屏。
** 用户根据LCM的实际情况编写此函数。
** Input: 无
** Output: 无
********************************************************************************************************/
extern void GUI_Initialize(void);
/********************************************************************************************************
** Function name: GUI_FillSCR
** Descriptions: 全屏填充。直接使用数据填充显示缓冲区。
** 用户根据LCM的实际情况编写此函数。
** Input: dat 填充的数据
** Output: 无
********************************************************************************************************/
extern void GUI_FillSCR(TCOLOR dat);
/********************************************************************************************************
** Function name: GUI_ClearSCR
** Descriptions: 清屏。
** 用户根据LCM的实际情况编写此函数。
** Input: 无
** Output: 无
********************************************************************************************************/
extern void GUI_ClearSCR(void);
/********************************************************************************************************
** Function name: GUI_Point
** Descriptions: 在指定位置上画点。
** Input: x 指定点所在列的位置
** y 指定点所在行的位置
** color 显示颜色
** Output: 返回值为1时表示操作成功,为0时表示操作失败。
********************************************************************************************************/
extern uint32 GUI_Point(uint16 x, uint16 y, TCOLOR color);
/********************************************************************************************************
** Function name: GUI_ReadPoint
** Descriptions: 读取指定位置点的颜色数据。
** Input: x 指定点所在列的位置
** y 指定点所在行的位置
** ret 用来保存颜色值的变量(指针)
** Output: 返回值为1时表示操作成功,为0时表示操作失败。
********************************************************************************************************/
extern uint32 GUI_ReadPoint(uint16 x, uint16 y, TCOLOR *ret);
/********************************************************************************************************
** Function name: GUI_HLine
** Descriptions: 画水平线。
** 操作失败原因是指定地址超出缓冲区范围。
** Input: x0 水平线起点所在列的位置
** y0 水平线起点所在行的位置
** x1 水平线终点所在列的位置
** color 显示颜色
** Output: 无
********************************************************************************************************/
extern void GUI_HLine(uint16 x0, uint16 y0, uint16 x1, TCOLOR color);
/********************************************************************************************************
** Function name: GUI_RLine
** Descriptions: 画垂直线。
** 操作失败原因是指定地址超出缓冲区范围。
** Input: x0 垂直线起点所在列的位置
** y0 垂直线起点所在行的位置
** y1 垂直线终点所在行的位置
** color 显示颜色
** Output: 无
********************************************************************************************************/
extern void GUI_RLine(uint16 x0, uint16 y0, uint16 y1, TCOLOR color);
/********************************************************************************************************
** Function name: GUI_CmpColor
** Descriptions: 判断颜色值是否一致。
** 由于颜色类型TCOLOR可以是结构类型,所以需要用户编写比较函数。
** Input: color1 颜色值1
** color2 颜色值2
** Output: 返回1表示相同,返回0表示不相同。
********************************************************************************************************/
//extern int GUI_CmpColor(TCOLOR color1, TCOLOR color2);
#define GUI_CmpColor(color1, color2) (color1 == color2)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -