⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd.h

📁 基于ARM处理器的S3C44Bx芯片
💻 H
字号:
/*********************************************************************************************
* File:	LCD.H
* Author:	embest	
* Desc:	LCD common macro define and function declare
* History:	
*********************************************************************************************/
#ifndef __LCD_H__
#define __LCD_H__

#include	"def.h"     

/*------------------------------------------------------------------------------------------*/
/*	 								macro define						 				    */
/*------------------------------------------------------------------------------------------*/
#define SCR_XSIZE 			(320)  
#define SCR_YSIZE 			(240)
#define LCD_XSIZE 			(320)
#define LCD_YSIZE 			(240)
#define COLOR_NUMBER 		256

#define HOZVAL				(LCD_XSIZE/4-1)
#define HOZVAL_COLOR		(LCD_XSIZE*3/8-1)
#define LINEVAL				(LCD_YSIZE-1)
#define MVAL				(13)
#define M5D(n) 				((n) & 0x1fffff)
#define MVAL_USED 			0
#define CLKVAL_COLOR 		(4) 

#define BLACK 				0x0
#define ALLBLACK 			((BLACK << 24) | (BLACK << 16) | (BLACK << 8) | BLACK)
#define WHITE 				0xff
#define ALLWHITE 			((WHITE << 24)  | (WHITE << 16)  | (WHITE << 8)  | WHITE)
#define RED 				0xe0
#define GREEN 				0x1c
#define BLUE 				0x03
#define LCD_D_OFF 			(*(int *)0x1d20020) &= ~(1 << 6); // rPDATD
#define LCD_D_ON 			(*(int *)0x1d20020) |= (1 << 6); 

#define LCD_PutPixel(x, y, c)\
	g_unLcdActiveBuffer[(y)][(x)/4]=(( g_unLcdActiveBuffer[(y)][(x)/4] & (~(0xff000000>>((x)%4)*8)) ) | ( (c)<<((4-1-((x)%4))*8) ));
#define LCD_ActivePutPixel(x, y, c)\
	g_unLcdActiveBuffer[(y)][(x)/4]=(( g_unLcdActiveBuffer[(y)][(x)/4] & (~(0xff000000>>((x)%4)*8)) )\
	| ( (c)<<((4-1-((x)%4))*8) ));

#define GUISWAP(a, b) {a^=b; b^=a; a^=b;}

/*------------------------------------------------------------------------------------------*/
/*	 								external variables					 				    */
/*------------------------------------------------------------------------------------------*/
extern UINT32T g_unLcdActiveBuffer[LCD_YSIZE][LCD_XSIZE/4];

/*------------------------------------------------------------------------------------------*/
/*	 								function declare						 				    */
/*------------------------------------------------------------------------------------------*/
void  lcd_init(void);
void  lcd_clr(void);
void  lcd_test(void);
void  lcd_clr_rect(UINT16T usLeft, UINT16T usTop, UINT16T usRight, UINT16T usBottom, UINT8T ucColor);
void  lcd_draw_box(UINT16T usLeft, UINT16T usTop, UINT16T usRight, UINT16T usBottom, UINT8T ucColor);
void  lcd_draw_line(UINT16T usX0, UINT16T usY0, UINT16T usX1, UINT16T usY1, UINT8T ucColor, UINT16T usWidth);
void  lcd_draw_hline(UINT16T usX0, UINT16T usX1, UINT16T usY0, UINT8T ucColor, UINT16T usWidth);
void  lcd_draw_vline(UINT16T usY0, UINT16T usY1, UINT16T usX0, UINT8T ucColor, UINT16T usWidth);
void  lcd_disp_ascii6x8(UINT16T usX0, UINT16T usY0,UINT8T ForeColor, UINT8T* pucChar);
void  lcd_disp_ascii8x16(UINT16T x0, UINT16T y0, UINT8T ForeColor, UINT8T* s);
void  lcd_dsp_hz16(UINT16T x0, UINT16T y0, UINT8T ForeColor, UINT8T *s);
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -