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

📄 color_lcd_test.c

📁 tsp_test为ucos中tsp的测试代码。运行在2410的板子上
💻 C
字号:
/*********************************************************************************************
* File:	lcdapp.c
* Author:	Embest	
* Desc:	LCD control and display functions
* History:	
*			Y.J.Guo, Programming modify, April 12, 2005
*********************************************************************************************/

/*------------------------------------------------------------------------------------------*/
/*	 								include files						 				    */
/*------------------------------------------------------------------------------------------*/
#include <string.h>
#include "2410lib.h"
#include "lcd_init.h"


/*------------------------------------------------------------------------------------------*/
/*	 								extern variables						 			    */
/*------------------------------------------------------------------------------------------*/
#ifdef BOARDTEST_EXH
#undef BOARDTEST
#endif
	
unsigned save_rGPCUP,save_rGPCDAT,save_rGPCCON;
unsigned save_rGPDUP,save_rGPDDAT,save_rGPDCON; 
void (*PutPixel)(UINT32T,UINT32T,UINT32T);
void (*BitmapView)(UINT8T *pBuffer);
int i,j;
UINT32T (*frameBuffer8Bit)[SCR_XSIZE_CSTN/4];
void _PutCstn8Bit(UINT32T x,UINT32T y,UINT32T c);
/*------------------------------------------------------------------------------------------*/
/*	 								function declare                                        */
/*------------------------------------------------------------------------------------------*/


void lcd_clr(void);

//Define PutPixel Function

/*********************************************************************************************
* name:		lcd_init_app
* func:		lcd application initialization code 
* para:		none
* ret:		none
* modify:
* comment:		
*********************************************************************************************/
void lcd_init_app()
{
    save_rGPCCON=rGPCCON;
    save_rGPCDAT=rGPCDAT;
    save_rGPCUP=rGPCUP;
    save_rGPDCON=rGPDCON;
    save_rGPDDAT=rGPDDAT;
    save_rGPDUP=rGPDUP;
    rGPCUP=0xffffffff;                                          // Disable Pull-up register
    rGPCCON=0xaaaaa9aa;                                         // Initialize VD[7:0],LCDVF[2:0],VM,VFRAME,VLINE,VCLK,LEND 
    rGPDUP=0xffffffff;                                          // Disable Pull-up register
    rGPDCON=0xaaaaaaaa;                                         // Initialize VD[23:8]
    
    //Lcd_Init(MODE_CSTN_8BIT);
    frameBuffer8Bit=(UINT32T (*)[SCR_XSIZE_CSTN/4])LCDFRAMEBUFFER;
    rLCDCON1=(CLKVAL_CSTN<<8)|(MVAL_USED<<7)|(2<<5)|(3<<1)|0;
   	    
    
    rLCDCON2=(0<<24)|(LINEVAL_CSTN<<14)|(0<<6)|(0<<0);
    rLCDCON3=(WDLY_CSTN<<19)|(HOZVAL_CSTN<<8)|(LINEBLANK_CSTN<<0);
    rLCDCON4=(MVAL<<8)|(WLH_CSTN<<0);
    rLCDCON5=0;
     
    rLCDSADDR1=(((UINT32T)frameBuffer8Bit>>22)<<21 )|M5D((UINT32T)frameBuffer8Bit>>1);
    rLCDSADDR2=M5D( ((UINT32T)frameBuffer8Bit+(SCR_XSIZE_CSTN*LCD_YSIZE_CSTN/1))>>1 );
    rLCDSADDR3=(((SCR_XSIZE_CSTN-LCD_XSIZE_CSTN)/2)<<11)|(LCD_XSIZE_CSTN/2);
    rDITHMODE=0x0;
    rREDLUT  =0xfdb96420;
    rGREENLUT=0xfdb96420;
    rBLUELUT =0xfb40;
    
    //Glib_Init(MODE_CSTN_8BIT);
    PutPixel=_PutCstn8Bit;
	//BitmapView=BitmapViewCstn8Bit;
	    	
    //Glib_ClearScr(GREEN-20, MODE_CSTN_8BIT);
    for(j=0;j<SCR_YSIZE_CSTN;j++)
    for(i=0;i<SCR_XSIZE_CSTN;i++)
		PutPixel(i,j,GREEN-20);
	
    //Lcd_PowerEnable(0, 1);
    //GPG4 is setted as LCD_PWREN
    rGPGUP=rGPGUP&(~(1<<4))|(1<<4);                             // Pull-up disable
    rGPGCON=rGPGCON&(~(3<<8))|(3<<8);                           // GPG4=LCD_PWREN
    
    //Enable LCD POWER ENABLE Function
    rLCDCON5=rLCDCON5&(~(1<<3))|(1<<3);                     // PWREN
    rLCDCON5=rLCDCON5&(~(1<<5))|(0<<5);                  // INVPWREN
   
    //Lcd_EnvidOnOff(1);
    rLCDCON1|=1;	
    uart_printf("Init LCD Success!!!!\n");

}


void _PutCstn8Bit(UINT32T x,UINT32T y,UINT32T c)
{
    if(x<SCR_XSIZE_CSTN&& y<SCR_YSIZE_CSTN)
        frameBuffer8Bit[(y)][(x)/4]=( frameBuffer8Bit[(y)][x/4]
	    & ~(0xff000000>>((x)%4)*8) ) | ( (c&0x000000ff)<<((4-1-((x)%4))*8) );
}

⌨️ 快捷键说明

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