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

📄 drv_1215.c

📁 Epson系列芯片开发的例子
💻 C
📖 第 1 页 / 共 2 页
字号:
/************************************************************************
 *									*
 *	Copyright (C) SEIKO EPSON CORP. 2002				*
 *									*
 *	File name: Drv_1215.c						*
 *	  This is Epson S1D13706 LCD controller driver for L1F01215T13	*
 *		under Epson E0C33000 platform.				*
 *									*
 *									*
 *	Revision history						*
 *		2002-7-19		Andrew Yin	Start.		*
 *    									*
 ************************************************************************/
#include  "Drv_1215.h"

extern unsigned char IMAGE1_4BPP, IMAGE2_4BPP, IMAGE3_4BPP;

static const unsigned char ASCIIchar[  ] =		/* 8*8 dot matrix ASCII Character (Rotate 90 degree)*/
{
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,	/* ASCII "SPACE" Decimal:32 Hexadecimal:20 */
	0x00,0x00,0x00,0x5f,0x00,0x00,0x00,0x00,
	0x00,0x00,0x07,0x00,0x07,0x00,0x00,0x00,
	0x00,0x14,0x7f,0x14,0x7f,0x14,0x00,0x00,
	0x00,0x24,0x2a,0x7f,0x2a,0x12,0x00,0x00,
	0x00,0x23,0x13,0x08,0x64,0x62,0x00,0x00,
	0x00,0x36,0x49,0x55,0x22,0x50,0x00,0x00,
	0x00,0x00,0x05,0x03,0x00,0x00,0x00,0x00,
	0x00,0x00,0x1c,0x22,0x41,0x00,0x00,0x00,
	0x00,0x00,0x41,0x22,0x1c,0x00,0x00,0x00,
	0x00,0x14,0x08,0x3e,0x08,0x14,0x00,0x00,
	0x00,0x08,0x08,0x3e,0x08,0x08,0x00,0x00,
	0x00,0x00,0x50,0x30,0x00,0x00,0x00,0x00,
	0x00,0x08,0x08,0x08,0x08,0x08,0x00,0x00,
	0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x00,
	0x00,0x20,0x10,0x08,0x04,0x02,0x00,0x00,
	
	0x00,0x3E,0x51,0x49,0x45,0x3E,0x00,0x00,				/* 0 */
	0x00,0x00,0x42,0x7f,0x40,0x00,0x00,0x00,
	0x00,0x42,0x61,0x51,0x49,0x46,0x00,0x00,
	0x00,0x21,0x41,0x45,0x4b,0x31,0x00,0x00,
	0x00,0x18,0x14,0x12,0x7f,0x10,0x00,0x00,
	0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00,
	0x00,0x3C,0x4A,0x49,0x49,0x30,0x00,0x00,
	0x00,0x01,0x01,0x79,0x05,0x03,0x00,0x00,
	0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00,
	0x00,0x06,0x49,0x49,0x29,0x1e,0x00,0x00,				/* 9 */

	0x00,0x00,0x36,0x36,0x00,0x00,0x00,0x00,
	0x00,0x00,0x56,0x36,0x00,0x00,0x00,0x00,
	0x00,0x08,0x14,0x22,0x41,0x00,0x00,0x00,
	0x00,0x14,0x14,0x14,0x14,0x14,0x00,0x00,
	0x00,0x00,0x41,0x22,0x14,0x08,0x00,0x00,
	0x00,0x02,0x01,0x51,0x09,0x06,0x00,0x00,
	0x00,0x32,0x49,0x79,0x41,0x3e,0x00,0x00,

	0x00,0x7e,0x11,0x11,0x11,0x7e,0x00,0x00,				/* A */
	0x00,0x41,0x7f,0x49,0x49,0x36,0x00,0x00,
	0x00,0x3e,0x41,0x41,0x41,0x22,0x00,0x00,
	0x00,0x41,0x7f,0x41,0x41,0x3e,0x00,0x00,
	0x00,0x7f,0x49,0x49,0x49,0x49,0x00,0x00,
	0x00,0x7f,0x09,0x09,0x09,0x01,0x00,0x00,
	0x00,0x3e,0x41,0x41,0x49,0x7a,0x00,0x00,
	0x00,0x7f,0x08,0x08,0x08,0x7f,0x00,0x00,
	0x00,0x00,0x41,0x7f,0x41,0x00,0x00,0x00,////////////////////////////////I
	0x00,0x20,0x40,0x41,0x3f,0x01,0x00,0x00,
	0x00,0x7f,0x08,0x14,0x22,0x41,0x00,0x00,
	0x00,0x7f,0x40,0x40,0x40,0x40,0x00,0x00,
	0x00,0x7f,0x02,0x0c,0x02,0x7f,0x00,0x00,
	0x00,0x7f,0x06,0x08,0x30,0x7f,0x00,0x00,
	0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00,
	0x00,0x7f,0x09,0x09,0x09,0x06,0x00,0x00,
	0x00,0x3e,0x41,0x51,0x21,0x5e,0x00,0x00,
	0x00,0x7f,0x09,0x19,0x29,0x46,0x00,0x00,
	0x00,0x26,0x49,0x49,0x49,0x32,0x00,0x00,
	0x00,0x01,0x01,0x7f,0x01,0x01,0x00,0x00,
	0x00,0x3f,0x40,0x40,0x40,0x3f,0x00,0x00,
	0x00,0x1f,0x20,0x40,0x20,0x1f,0x00,0x00,
	0x00,0x7f,0x20,0x18,0x20,0x7f,0x00,0x00,
	0x00,0x63,0x14,0x08,0x14,0x63,0x00,0x00,
	0x00,0x07,0x08,0x70,0x08,0x07,0x00,0x00,
	0x00,0x61,0x51,0x49,0x45,0x43,0x00,0x00,				/* Z */

	0x00,0x00,0x7f,0x41,0x41,0x00,0x00,0x00,
	0x00,0x02,0x04,0x08,0x10,0x20,0x00,0x00,
	0x00,0x00,0x41,0x41,0x7f,0x00,0x00,0x00,
	0x00,0x04,0x02,0x01,0x02,0x04,0x00,0x00,
	0x00,0x40,0x40,0x40,0x40,0x40,0x00,0x00,
	0x00,0x01,0x02,0x04,0x00,0x00,0x00,0x00,
	
	0x00,0x20,0x54,0x54,0x54,0x78,0x00,0x00,				/* a */
	0x00,0x7f,0x48,0x44,0x44,0x38,0x00,0x00,
	0x00,0x38,0x44,0x44,0x44,0x20,0x00,0x00,
	0x00,0x38,0x44,0x44,0x48,0x7f,0x00,0x00,
	0x00,0x38,0x54,0x54,0x54,0x18,0x00,0x00,//e
	0x00,0x00,0x08,0x7e,0x09,0x02,0x00,0x00,
	0x00,0x0c,0x52,0x52,0x4c,0x3e,0x00,0x00,//g
	0x00,0x7f,0x08,0x04,0x04,0x78,0x00,0x00,
	0x00,0x00,0x44,0x7d,0x40,0x00,0x00,0x00,
	0x00,0x20,0x40,0x44,0x3d,0x00,0x00,0x00,
	0x00,0x00,0x7f,0x10,0x28,0x44,0x00,0x00,
	0x00,0x00,0x41,0x7f,0x40,0x00,0x00,0x00,//l
	0x00,0x7c,0x04,0x78,0x04,0x78,0x00,0x00,
	0x00,0x7c,0x08,0x04,0x04,0x78,0x00,0x00,
	0x00,0x38,0x44,0x44,0x44,0x38,0x00,0x00,
	0x00,0x7e,0x0c,0x12,0x12,0x0c,0x00,0x00,
	0x00,0x0c,0x12,0x12,0x0c,0x7e,0x00,0x00,
	0x00,0x7c,0x08,0x04,0x04,0x08,0x00,0x00,
	0x00,0x48,0x54,0x54,0x54,0x20,0x00,0x00,
	0x00,0x04,0x3f,0x44,0x40,0x20,0x00,0x00,
	0x00,0x3c,0x40,0x40,0x3c,0x40,0x00,0x00,
	0x00,0x1c,0x20,0x40,0x20,0x1c,0x00,0x00,
	0x00,0x3c,0x40,0x30,0x40,0x3c,0x00,0x00,
	0x00,0x44,0x28,0x10,0x28,0x44,0x00,0x00,
	0x00,0x0c,0x50,0x50,0x50,0x3c,0x00,0x00,
	0x00,0x44,0x64,0x54,0x4c,0x44,0x00,0x00,			/* z */
	
	0x00,0x00,0x08,0x36,0x41,0x00,0x00,0x00,
	0x00,0x00,0x00,0x77,0x00,0x00,0x00,0x00,
	0x00,0x00,0x41,0x36,0x08,0x00,0x00,0x00,
	0x00,0x02,0x01,0x02,0x04,0x02,0x00,0x00,
	0x00,0xff,0xff,0xff,0xff,0xff,0x00,0x00
};

/* API functions */
void	vInitLCDL1F01215T13( void );

void	vL1F01215TClr( void );
void	vL1F01215TSetPixel(unsigned short usX, unsigned char ucY, unsigned char ucPixelGray );
unsigned char  ucL1F01215TGetPixel( unsigned short usX, unsigned char ucY );
void	vL1F01215TDrawLine(unsigned short usX1, unsigned char ucY1, unsigned short usX2, 
		unsigned char ucY2, unsigned char ucGray );
void	vL1F01215TDrawASCII( unsigned char ucASCIIX, unsigned char ucASCIIY, 
			unsigned char ASCII, unsigned char ucGray);
void	vL1F01215TDrawString( unsigned char ucASCIIX, unsigned char ucASCIIY, 
			unsigned char *string, unsigned char ucGray );
void	vPutImage( unsigned char *P, unsigned short usWidth, unsigned short usHeight );

// functions formed as _functionname are used inside only and should not exposed to outside callers
void	_DrawDiagonalLine( unsigned short usX1, unsigned char ucY1, unsigned short usX2, 
		unsigned char ucY2, unsigned char ucGray );
void	_CheckAndCorrectPointPosition( unsigned short* uspX, unsigned char* ucpY );

void vVideoInvert( void );
void vEnableSubWindow( void );
void vDisableSubWindow( void );
void vSwivelView( unsigned short usAngle );
void vEnterPowerSaveMode( void );
void vExitPowerSaveMode( void );
unsigned char  ExitDriver( void );
			
void vL1F01215TDemo( void );
void vDelay( void );
void vDelay1( void );

void  _Test_DrawHorizontalStripe( void )
{
	int nColumn =0 ;
	int nLine =0 ;
	unsigned char *pUchDispMem = ucpMemBaseAddr ;
	unsigned char ddd;
	
	for( nLine =0 ,ddd=0x05; nLine < 240 ; nLine++)
	 {
		for(nColumn = 0; nColumn < LCD_SOLUTION_WIDTH / 8; nColumn++)
		{
			ddd=0x05;
		 	*pUchDispMem++ = ddd;
			*pUchDispMem++;
			ddd = 0x0af;
			*++pUchDispMem = ddd;
			*pUchDispMem++;			 
		}
	}
}

void  _Test_DrawVerticalStripe(void)
{
	unsigned char i;
	int nColumn =0 ;
	int nLine =0 ;
	unsigned short *pUshDispMem = uspMemBaseAddr ;
	unsigned short ddd;
		
	for( i = 0; i < 16; i++)
		for( nLine =0 ,ddd=0x0 + 0x1111 * i; nLine < 15 ; nLine++)
		{
			for(nColumn = 0; nColumn < LCD_SOLUTION_WIDTH / 4; nColumn++)
			{
			 	*pUshDispMem++ = ddd;
			}
		}
	}

/***********************************************************************************************
 * vInitLCDL1F01215T13
 *   Type :	void
 *   Ret val :	none
 *   Argument :	void
 *   Function :	L1F01215T13 LCD initial routine
 ***********************************************************************************************/
void  vInitLCDL1F01215T13(void)
{
	unsigned char ucRegCount;
	unsigned char i;

	// Initial the MCU #WAIT pin
	*( volatile unsigned char * )0x402DC |= 0x01;
	
	// Enable Blank Display
	MACRO_ENABLE_BLANK_DISPLAY();

	ucRegCount = sizeof( S1D13706Mode ) / sizeof( REG_INIT_ITEM );
	for( i =0 ; i < ucRegCount; i++ )
		*( ucpRegBaseAddr + ( S1D13706Mode[ i ].ushIndex )) = S1D13706Mode[ i ].uchValue ;

	// Disable "blanking" display
	MACRO_DISABLE_BLANK_DISPLAY();
	
	vExitPowerSaveMode( );
	
	// after delay for 40 milli-seconds Power Up LCD
	vDelay( );
	MACRO_ENABLE_LCD_PANEL();
	
	S1D_WRITE_PALETTE( ucpRegBaseAddr, 0, 0, 0, 0 );
	S1D_WRITE_PALETTE( ucpRegBaseAddr, 1, 0, 0x10, 0 );
	S1D_WRITE_PALETTE( ucpRegBaseAddr, 2, 0, 0x20, 0 );
	S1D_WRITE_PALETTE( ucpRegBaseAddr, 3, 0, 0x30, 0 );
	S1D_WRITE_PALETTE( ucpRegBaseAddr, 4, 0, 0x44, 0 );
	S1D_WRITE_PALETTE( ucpRegBaseAddr, 5, 0, 0x54, 0 );
	S1D_WRITE_PALETTE( ucpRegBaseAddr, 6, 0, 0x64, 0 );
	S1D_WRITE_PALETTE( ucpRegBaseAddr, 7, 0, 0x74, 0 );
	S1D_WRITE_PALETTE( ucpRegBaseAddr, 8, 0, 0x88, 0 );
	S1D_WRITE_PALETTE( ucpRegBaseAddr, 9, 0, 0x98, 0 );
	S1D_WRITE_PALETTE( ucpRegBaseAddr, 10, 0, 0x0A8, 0 );
	S1D_WRITE_PALETTE( ucpRegBaseAddr, 11, 0, 0x0B8, 0 );
	S1D_WRITE_PALETTE( ucpRegBaseAddr, 12, 0, 0x0CC, 0 );
	S1D_WRITE_PALETTE( ucpRegBaseAddr, 13, 0, 0x0DC, 0 );
	S1D_WRITE_PALETTE( ucpRegBaseAddr, 14, 0, 0x0EC, 0 );
	S1D_WRITE_PALETTE( ucpRegBaseAddr, 15, 0, 0x0FC, 0 );
	
	vL1F01215TDemo();
}

void vDisableSubWindow( void )
{
	*( volatile unsigned char * )( REGISTER_OFFSET + REG_MAIN_WIN_DISP_START_ADDR0 ) = ( unsigned char )0x7F;
	*( volatile unsigned char * )( REGISTER_OFFSET + REG_MAIN_WIN_DISP_START_ADDR1 ) = ( unsigned char )0x25;
	*( volatile unsigned char * )( REGISTER_OFFSET + REG_MAIN_WIN_DISP_START_ADDR2 ) = ( unsigned char )0x00;
	*( volatile unsigned char * )( REGISTER_OFFSET + REG_MAIN_WIN_ADDR_OFFSET0 ) = ( unsigned char )0x28;
	*( volatile unsigned char * )( REGISTER_OFFSET + REG_MAIN_WIN_ADDR_OFFSET1 ) = ( unsigned char )0x00;
}

void vEnableSubWindow( void )
{
	// enable sub-window
	//*( volatile unsigned char * )( REGISTER_OFFSET + REG_SPECIAL_EFFECTS ) |= ( unsigned char )0x10;
	
	*( volatile unsigned char * )( REGISTER_OFFSET + REG_MAIN_WIN_DISP_START_ADDR0 ) = ( unsigned char )0x6f;
	*( volatile unsigned char * )( REGISTER_OFFSET + REG_MAIN_WIN_DISP_START_ADDR1 ) = ( unsigned char )0x3f;
	*( volatile unsigned char * )( REGISTER_OFFSET + REG_MAIN_WIN_DISP_START_ADDR2 ) = ( unsigned char )0x00;
	*( volatile unsigned char * )( REGISTER_OFFSET + REG_MAIN_WIN_ADDR_OFFSET0 ) = ( unsigned char )0x4B;
	*( volatile unsigned char * )( REGISTER_OFFSET + REG_MAIN_WIN_ADDR_OFFSET1 ) = ( unsigned char )0x00;
	
	// Sub-window display start address
	*( volatile unsigned char * )( REGISTER_OFFSET + REG_SUB_WIN_DISP_START_ADDR0 ) = 0x7f;
	*( volatile unsigned char * )( REGISTER_OFFSET + REG_SUB_WIN_DISP_START_ADDR1 ) = 0x25;
	*( volatile unsigned char * )( REGISTER_OFFSET + REG_SUB_WIN_DISP_START_ADDR2 ) = 0x00;
	
	// Sub-window Line address offset
	*( volatile unsigned char * )( REGISTER_OFFSET + REG_SUB_WIN_ADDR_OFFSET0 ) = 0x28;
	*( volatile unsigned char * )( REGISTER_OFFSET + REG_SUB_WIN_ADDR_OFFSET1 ) = 0x00;
	
	// Sub-window X start position
	*( volatile unsigned char * )( REGISTER_OFFSET + REG_SUB_WIN_X_START_POS0 ) = 40;
	*( volatile unsigned char * )( REGISTER_OFFSET + REG_SUB_WIN_X_START_POS1 ) = 0x00;
	
	// Sub-window Y start position
	*( volatile unsigned char * )( REGISTER_OFFSET + REG_SUB_WIN_Y_START_POS0 ) = 240;
	*( volatile unsigned char * )( REGISTER_OFFSET + REG_SUB_WIN_Y_START_POS1 ) = 0x00;
	
	// Sub-window X end position
	*( volatile unsigned char * )( REGISTER_OFFSET + REG_SUB_WIN_X_END_POS0 ) = 0x00;
	*( volatile unsigned char * )( REGISTER_OFFSET + REG_SUB_WIN_X_END_POS1 ) = 0x00;
	
	// Sub-window Y end position
	*( volatile unsigned char * )( REGISTER_OFFSET + REG_SUB_WIN_Y_END_POS0 ) = 0x00;
	*( volatile unsigned char * )( REGISTER_OFFSET + REG_SUB_WIN_Y_END_POS1 ) = 0x00;
}

/***********************************************************************************************
 * ExitDriver
 *   Type:	unsigned char
 *   Ret val:	none
 *   Argument:	none
 *   Function:	Power off the LCD
 ***********************************************************************************************/
unsigned char  ExitDriver( void )
{
	unsigned short i;
	MACRO_DISABLE_LCD_PANEL();
	
	// after delay for 10 Micro-seconds stop all LCD input signal
	for( i = 0; i < 5000; i++ )
		asm(" nop ");

	MACRO_ENABLE_BLANK_DISPLAY();
	vEnterPowerSaveMode( );
	return true;
}

/***********************************************************************************************
 * vPutImage
 *   Type:	void
 *   Ret val:	none
 *   Argument:	unsigned char *p:		Image data point
 *		unsigned short usWidth:		Image width
 *		unsigned short usHeight:	Image height
 *   Function:	Power off the LCD
 ***********************************************************************************************/
void vPutImage( unsigned char *p, unsigned short usWidth, unsigned short usHeight )
{
	unsigned short *uspTmpDispMem = uspMemBaseAddr;
	unsigned long  i;
	unsigned short *pp = ( unsigned short * )p;
	
	for( i = 0; i < usWidth / 8 * BPP * usHeight / 2; i++ )
		*uspTmpDispMem++ = *pp++;
}

/***********************************************************************************************
 * vVideoInvert
 *   Type :	void
 *   Ret val :	none
 *   Argument :	none
 *   Function :	Invert the LCD
 ***********************************************************************************************/
void vVideoInvert( void )
{
	*( volatile unsigned char * )( REGISTER_OFFSET + REG_DISPLAY_MODE ) |= ( unsigned char )0x10;
}

/***********************************************************************************************
 * vSwivelView
 *   Type :	void
 *   Ret val :	none
 *   Argument :	unsigned short usAngle:	90; 180; 270.
 *   Function :	LCD display rotation
 ***********************************************************************************************/
void vSwivelView( unsigned short usAngle )
{
	switch( usAngle )
	{
		case	90:
			*( volatile unsigned char * )( REGISTER_OFFSET + REG_SPECIAL_EFFECTS ) &= ( unsigned char )0x0FC;
			*( volatile unsigned char * )( REGISTER_OFFSET + REG_SPECIAL_EFFECTS ) |= ( unsigned char )0x01;
			*( volatile unsigned char * )( REGISTER_OFFSET + REG_MAIN_WIN_DISP_START_ADDR0 ) = ( unsigned char )0x1d;
			*( volatile unsigned char * )( REGISTER_OFFSET + REG_MAIN_WIN_DISP_START_ADDR1 ) = ( unsigned char )0x00;
			*( volatile unsigned char * )( REGISTER_OFFSET + REG_MAIN_WIN_DISP_START_ADDR2 ) = ( unsigned char )0x00;
			*( volatile unsigned char * )( REGISTER_OFFSET + REG_MAIN_WIN_ADDR_OFFSET0 ) = ( unsigned char )0x1e;
			*( volatile unsigned char * )( REGISTER_OFFSET + REG_MAIN_WIN_ADDR_OFFSET1 ) = ( unsigned char )0x00;
			break;
			
		case	180:
			*( volatile unsigned char * )( REGISTER_OFFSET + REG_SPECIAL_EFFECTS ) &= ( unsigned char )0x0FC;
			*( volatile unsigned char * )( REGISTER_OFFSET + REG_SPECIAL_EFFECTS ) |= ( unsigned char )0x02;
			*( volatile unsigned char * )( REGISTER_OFFSET + REG_MAIN_WIN_DISP_START_ADDR0 ) = ( unsigned char )0x7f;
			*( volatile unsigned char * )( REGISTER_OFFSET + REG_MAIN_WIN_DISP_START_ADDR1 ) = ( unsigned char )0x25;
			*( volatile unsigned char * )( REGISTER_OFFSET + REG_MAIN_WIN_DISP_START_ADDR2 ) = ( unsigned char )0x00;
			*( volatile unsigned char * )( REGISTER_OFFSET + REG_MAIN_WIN_ADDR_OFFSET0 ) = ( unsigned char )0x28;
			*( volatile unsigned char * )( REGISTER_OFFSET + REG_MAIN_WIN_ADDR_OFFSET1 ) = ( unsigned char )0x00;
			break;
			
		case	270:
			*( volatile unsigned char * )( REGISTER_OFFSET + REG_SPECIAL_EFFECTS ) &= ( unsigned char )0x0FC;
			*( volatile unsigned char * )( REGISTER_OFFSET + REG_SPECIAL_EFFECTS ) |= ( unsigned char )0x03;
			*( volatile unsigned char * )( REGISTER_OFFSET + REG_MAIN_WIN_DISP_START_ADDR0 ) = ( unsigned char )0x62;
			*( volatile unsigned char * )( REGISTER_OFFSET + REG_MAIN_WIN_DISP_START_ADDR1 ) = ( unsigned char )0x25;
			*( volatile unsigned char * )( REGISTER_OFFSET + REG_MAIN_WIN_DISP_START_ADDR2 ) = ( unsigned char )0x00;
			*( volatile unsigned char * )( REGISTER_OFFSET + REG_MAIN_WIN_ADDR_OFFSET0 ) = ( unsigned char )0x1e;
			*( volatile unsigned char * )( REGISTER_OFFSET + REG_MAIN_WIN_ADDR_OFFSET1 ) = ( unsigned char )0x00;
			break;
		
		default:
			break;
	}
}

/***********************************************************************************************
 * vEnterPowerSaveMode
 *   Type :	void
 *   Ret val :	none
 *   Argument :	none
 *   Function :	The S1D13706 enter power save mode
 ***********************************************************************************************/
void vEnterPowerSaveMode( void )
{
	*( volatile unsigned char * )( REGISTER_OFFSET + 0x0a0 ) |= ( unsigned char )0x01;
}

/***********************************************************************************************
 * vExitPowerSaveMode
 *   Type :	void
 *   Ret val :	none
 *   Argument :	none
 *   Function :	The S1D13706 exit power save mode
 ***********************************************************************************************/
void vExitPowerSaveMode( void )
{
	*( volatile unsigned char * )( REGISTER_OFFSET + 0x0a0 ) &= ( unsigned char )0x0fe;
}

/***********************************************************************************************
 * vL1F01215TClr
 *   Type :	void
 *   Ret val :	none
 *   Argument :	none
 *   Function :	Draw Clear the L1F01215T13 LCD screen pixel
 ***********************************************************************************************/
void  vL1F01215TClr( void )
{
	unsigned short *uspTmpDispMem = uspMemBaseAddr, i;
	
	for( i= 0; i < ONE_LINE_SHORT_NUMBER * LCD_SOLUTION_HEIGHT; i++ )
		*uspTmpDispMem ++ = 0;

⌨️ 快捷键说明

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