亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lcd_1289_8312.c

?? 當前流行的屏驅動
?? C
?? 第 1 頁 / 共 2 頁
字號:
		*/
		WriteCommand(0x3B01);
		Delay(40);
		
		WriteCommand(0x0020);
     }  
	 
}

/*---- LCD final ----*/ 
INT32 LcdFina()
{
	// Step1: nPWDN = 0
	
	// Step2: VDD2.8 Power OFF
	//config PA1 for LED_ON  
	GPIO_SetOutput(GPIO_PORTA, 0, BIT1);
	
	
	return 0;
}

/**************************************************************************************/
/************************      LCD APP function      **********************************/
/**************************************************************************************/ 
//open the LCD      
INT32 lcd_Open(BOOL enableIrq) //need modify
{
	if(FLAG_LCD == 0)
	{
		DMACTL dmactl;
		volatile UINT32 *pBUCR4 = (volatile UINT32 *)0x00209198;
		dmactl.channel = CHANNEL4_LCD_TX;
		dmactl.priority = PRIORITY;
		if(enableIrq == TRUE)
		{
			dmactl.isintenable = INTENABLE;
		}
		else
		{
			dmactl.isintenable = INTDISABLE;
		}
		dmactl.mdir = INCREASE;
		dmactl.srcmode = LINEAR;
		dmactl.dstmode = LINEAR;
		dmactl.srcsize = D32;
		dmactl.dstsize = D32;
		dmactl.burstlen = 32;  //change by huangwei
		dmactl.reqsrc = REQ_EXDMA;	
		
		InitCS0();
		LcdInit();	
		DMAChannel_Open(&dmactl);  
		*pBUCR4 = 80;
	}
	
	FLAG_LCD++;	  
	
	return 0;  
}




/************************************************************
Parameter :	topLeftX : the coordinate of x 

  topLeftY : the coordinate of x
  
	width: the width of picture window
	height: the height of picture window
	
	  *picBuf: the point of picture
	  
		note:  topLeftX+width<=220
		topLeftY+height<=176
		
************************************************************/


INT32 lcd_Write(INT16 topLeftX, INT16 topLeftY, INT16 width, INT16 height, UINT16 *picBuf)
{
	int i;
	int lcdInterface;
	int len;
	UINT16 * temp_picBuf;
	UINT16 tmp0,tmp1,tmp2,tmp3;
	DMACTL dmactl;
	
	
	if(((chip_id)&0xff)==0x89)
	{
		/* CS1 repair*/
        	regEMI->CS0U = 0x00000600;
		regEMI->CS0L =0x44441D01;
		SetLCDWindows(topLeftY,topLeftY+height-1,topLeftX,topLeftX+width-1);     
	//	WriteCommand(0x0021);
		WriteCommand(0x0022);
	} 
	else
	{
		/* CS1 repair*/
		regEMI->CS0U = 0x00000b00;
		regEMI->CS0L = 0x55550D01;	
        SetLCDWindows(topLeftY,topLeftY+height-1,topLeftX,topLeftX+width-1);	
	}
	
	
	GPIO_SetOutput(LCD_RS_PORT, 1<<LCD_RS_BIT, 0);
	
	lcdInterface = (int)0x10000000;
	
	/**/
	len = width * 1;
	i = len - len%16;
	
	//zzy add on 20060605當顯示的行數為0時程序會執行相當多次
	if(i<=0)
	{
		return 1;
	}
	
	temp_picBuf = picBuf + width * (height-1);
	
		  __asm
		  {
loop_lwrite:
		  ldrh tmp0, [temp_picBuf], #2
			  ldrh tmp1, [temp_picBuf], #2
			  strh tmp0, [lcdInterface, #4]
			  ldrh tmp2, [temp_picBuf], #2
			  strh tmp1, [lcdInterface, #4]
			  ldrh tmp3, [temp_picBuf], #2	
			  strh tmp2, [lcdInterface, #4]
			  
			  ldrh tmp0, [temp_picBuf], #2
			  strh tmp3, [lcdInterface, #4]
			  ldrh tmp1, [temp_picBuf], #2
			  strh tmp0, [lcdInterface, #4]
			  ldrh tmp2, [temp_picBuf], #2
			  strh tmp1, [lcdInterface, #4]
			  ldrh tmp3, [temp_picBuf], #2
			  strh tmp2, [lcdInterface, #4]
			  
			  ldrh tmp0, [temp_picBuf], #2
			  strh tmp3, [lcdInterface, #4]
			  ldrh tmp1, [temp_picBuf], #2
			  strh tmp0, [lcdInterface, #4]
			  ldrh tmp2, [temp_picBuf], #2
			  strh tmp1, [lcdInterface, #4]
			  ldrh tmp3, [temp_picBuf], #2
			  strh tmp2, [lcdInterface, #4]
			  
			  ldrh tmp0, [temp_picBuf], #2
			  strh tmp3, [lcdInterface, #4]
			  ldrh tmp1, [temp_picBuf], #2
			  strh tmp0, [lcdInterface, #4]
			  ldrh tmp2, [temp_picBuf], #2
			  strh tmp1, [lcdInterface, #4]
			  ldrh tmp3, [temp_picBuf], #2
			  strh tmp2, [lcdInterface, #4]
			  
			  subs i, i, 16
			  strh tmp3, [lcdInterface, #4]
			  bne	loop_lwrite
		  }
		  
		  
		  
		  
		  len=width*(height-1)*2;
		  dmactl.channel = CHANNEL4_LCD_TX;
		  dmactl.srcaddr = (UINT32)picBuf;
		  dmactl.dstaddr = (UINT32)EXT_CHIP_DATA_ADDR;
		  dmactl.len= len;
		  
		  if(len <= LCD_BUFFER_MAXSIZE)
		  {
			  MMU_CleanDCacheMVA((UINT32)picBuf,(UINT32)(picBuf+76800-320));
			  if(DMA_Start(&dmactl))
				  return 0;
		  }
		  return 1;
		  

}


INT32 LCD_Clean(VOID)
{
	INT32 i;
	UINT16 Clean_Buf[76800];
	for(i=0;i<76800;i++)
	{
		Clean_Buf[i] = 0x0000;
	}
	LCD_Write(0,0,320,240,Clean_Buf);
	return 0;
}




/************************************************************
Parameter :	topLeftX : the coordinate of x 

  topLeftY : the coordinate of x
  
	width: the width of window you want to clear
	height: the height of window you want to clear
	
	  ColorValue: the color you want to set in the claer window
	  note:  topLeftX+width<=220
	  topLeftY+height<=176
************************************************************/
INT32 WindowScreenClear(INT16 topLeftX, INT16 topLeftY, INT16 width, INT16 height, UINT16 ColorValue)
{
	int i,j;
	int len;
	
    /* CS1 repair*/
	if(((chip_id)&0xff)==0x89) 
	{
		/* CS1 repair*/
//		regEMI->CS0U = 0x00000600;
//		regEMI->CS0L = 0x44442D01;
		
		SetLCDWindows(topLeftY,topLeftY+height-1,topLeftX,topLeftX+width-1);
		
//		WriteCommand(0x0021);
		WriteCommand(0x0022);
		
		len=width*height;	
	}
	else
	{
		/* CS1 repair*/
		regEMI->CS0U = 0x00000800;
		regEMI->CS0L = 0x00000D01;
		SetLCDWindows(topLeftY,topLeftY+height-1,topLeftX,topLeftX+width-1);
		len=width*height;
	}
	GPIO_SetOutput(LCD_RS_PORT, 1<<LCD_RS_BIT, 0);
	
	
	for(i=0;i<height;i++)
	{
		for(j=0;j<width;j++)
		{
			(*EXT_CHIP_DATA_ADDR) = ColorValue;
		}
	}
	
	return len;
	
}


INT32 LCD_Close(void)
{
	
	FLAG_LCD--;
	if(FLAG_LCD == 0)
	{
		DMACTL dmactl;
		dmactl.channel = CHANNEL4_LCD_TX;
		WindowScreenClear(0, 0, 320, 240, 0xffff);		
		LcdFina();
		DMA_Stop(&dmactl);
	}
	return 0;                     
}

/*********** lcd IO control ******************/

INT32 LCD_Ioctl(INT32 cmd, INT32 para, void *buf)
{	
	switch(cmd)
	{
	case GET_LCD_INFO:
		{
			LCD_INFO *lcd_info = (LCD_INFO *)buf;
			lcd_info->LCD_WIDTH = LCD_PHY_PIXEL_CX;
			lcd_info->LCD_HEIGHT = LCD_PHY_PIXEL_CY;
			lcd_info->LCD_BITS_PER_PIXEL = LCD_PIXEL_BITS;
			lcd_info->LCD_PIXEL_PALETTE = LCD_PIXEL_RGB;
			break;
		}
		
	case LCD_BACKLIGHT_DOWN:
		{
			if(BACK_LIGHT_VALUE <= 0)
			{
				BACK_LIGHT_VALUE = 0;
			}
			else
			{
				BACK_LIGHT_VALUE -= BACK_LIGHT_UNIT;	
			}
			pwm_set_backlight(BACK_LIGHT_VALUE);
			break;
		}
		
	case LCD_BACKLIGHT_UP:
		{
			if(BACK_LIGHT_VALUE >= BACK_LIGHT_MAX_VALUE)
				BACK_LIGHT_VALUE = BACK_LIGHT_MAX_VALUE;
			else
				BACK_LIGHT_VALUE += BACK_LIGHT_UNIT;
			
			pwm_set_backlight(BACK_LIGHT_VALUE);
			break;
			
		}
		
	case LCD_BACKLIGHT_ENABLE:
		{
            pwm_set_backlight(BACK_LIGHT_VALUE);
			break;
		}
		
	case LCD_BACKLIGHT_DISABLE:
		{
			pwm_set_backlight(0);
			break;
		}
		
	case CLEAN_SCREEN:
		{
			LCD_Clean();
			break;
		}
		
	default:
		return -1;
	}
	
	
	return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美乱综合| 国产精品正在播放| 色综合激情久久| 国产精品嫩草99a| 国产v综合v亚洲欧| 久久久久国产免费免费| 国产精品影视网| 精品国产乱子伦一区| 麻豆91在线播放| 精品少妇一区二区三区在线播放 | 蜜桃一区二区三区在线| 337p亚洲精品色噜噜噜| 日韩电影在线观看网站| 555www色欧美视频| 日韩av一区二区在线影视| 欧美一区二区三区在线看| 日本成人在线视频网站| 日韩精品中文字幕在线不卡尤物| 久久成人综合网| 精品国产123| 国产精品1024| 国产精品久久免费看| 91亚洲精品久久久蜜桃网站 | 国产成人av一区二区三区在线| 久久综合久色欧美综合狠狠| 国产乱色国产精品免费视频| 亚洲国产精品成人综合色在线婷婷| 成人爽a毛片一区二区免费| 国产精品拍天天在线| 91丨九色丨国产丨porny| 亚洲女性喷水在线观看一区| 欧美午夜不卡视频| 奇米四色…亚洲| 久久久亚洲高清| gogogo免费视频观看亚洲一| 亚洲黄色性网站| 欧美欧美午夜aⅴ在线观看| 日本麻豆一区二区三区视频| 久久精品一区四区| www.欧美日韩| 天堂午夜影视日韩欧美一区二区| 日韩一区二区三区免费看 | 国产精品传媒视频| 欧美影视一区在线| 久久精品国产99| 国产精品网友自拍| 欧美午夜精品久久久| 久久99精品久久久久婷婷| 国产精品久久久久aaaa樱花 | www.久久精品| 亚洲国产成人av网| 久久一日本道色综合| av不卡一区二区三区| 日韩福利视频导航| 久久精品人人爽人人爽| 欧洲亚洲精品在线| 国模一区二区三区白浆| 亚洲男人电影天堂| 日韩欧美色电影| 99久久综合狠狠综合久久| 午夜精品久久久久| 欧美国产精品一区二区三区| 欧美日韩一区成人| 国产精品自拍三区| 午夜久久久久久| 国产精品卡一卡二卡三| 欧美精品色一区二区三区| 粉嫩高潮美女一区二区三区| 午夜日韩在线电影| 国产精品美女久久久久aⅴ国产馆| 欧美日韩国产在线播放网站| 高清免费成人av| 男女男精品视频网| 自拍偷拍国产亚洲| 久久久久久免费毛片精品| 欧美日韩夫妻久久| 99久久99久久免费精品蜜臀| 精品中文字幕一区二区| 亚洲综合色在线| 亚洲国产精品成人久久综合一区| 4438成人网| 91成人免费电影| 成人sese在线| 韩国三级中文字幕hd久久精品| 亚洲香蕉伊在人在线观| 国产精品日韩成人| 精品国产免费一区二区三区四区 | 久久久欧美精品sm网站| 欧美色精品在线视频| 成人精品在线视频观看| 免费欧美在线视频| 亚洲gay无套男同| 国产精品麻豆久久久| 欧美精品一区二区三区四区 | 激情久久五月天| 五月激情综合色| 亚洲激情欧美激情| 国产精品护士白丝一区av| 2欧美一区二区三区在线观看视频| 欧美性高清videossexo| av在线一区二区三区| 国产成人精品一区二区三区四区 | 亚洲一区二区中文在线| 国产精品系列在线| 精品国产一区二区亚洲人成毛片| 欧美日本在线视频| 欧美性一区二区| 91美女片黄在线| voyeur盗摄精品| 国产成人鲁色资源国产91色综| 精品一区精品二区高清| 日本不卡一区二区| 亚洲成人精品影院| 亚洲女与黑人做爰| 亚洲视频一区在线| 亚洲色图都市小说| 国产精品久久久久影院| 国产蜜臀97一区二区三区| 国产亚洲一二三区| 久久久综合网站| 欧美精品一区男女天堂| 久久先锋资源网| 欧美成人官网二区| 欧美成人一区二区三区| 日韩视频在线一区二区| 91精品国产综合久久福利| 欧美精品一二三四| 欧美一区二区三区在线看| 日韩三级视频中文字幕| 日韩丝袜情趣美女图片| 欧美精品一区二区三区高清aⅴ| 日韩欧美国产精品一区| 日韩欧美区一区二| 久久综合狠狠综合久久激情| 久久蜜桃av一区精品变态类天堂 | 日韩av在线发布| 日本免费新一区视频| 看片网站欧美日韩| 久久99精品国产麻豆婷婷| 韩国女主播成人在线观看| 国产一区二区伦理片| 国产精品自拍av| 成人精品亚洲人成在线| bt欧美亚洲午夜电影天堂| 91网页版在线| 欧美日韩一区小说| 欧美一级夜夜爽| 精品国产伦一区二区三区观看方式 | 欧美一区二区三区的| 日韩无一区二区| 国产亚洲一区字幕| 中文字幕一区二区三区视频| 亚洲免费观看高清| 亚洲电影在线播放| 久久99久久99小草精品免视看| 国内精品久久久久影院薰衣草 | 成人a区在线观看| 色综合久久久网| 91精品国产91久久久久久一区二区| 欧美大片在线观看| 国产视频一区二区三区在线观看| 国产精品久久久久9999吃药| 亚洲亚洲人成综合网络| 久久国产福利国产秒拍| 成人黄色网址在线观看| 欧美探花视频资源| 欧美精品一区二区高清在线观看| 国产精品久久久久一区二区三区共 | 五月婷婷综合激情| 久久国产福利国产秒拍| www.亚洲在线| 欧美精品99久久久**| 国产亚洲一二三区| 一区二区三区在线视频观看| 日本午夜精品一区二区三区电影| 国产一区二区三区美女| 日本久久一区二区三区| 日韩欧美国产一二三区| 最新日韩av在线| 日韩高清一区二区| www.亚洲在线| 日韩视频123| 亚洲色图19p| 久久国产生活片100| 91偷拍与自偷拍精品| 欧美电影免费观看完整版| 亚洲日本在线观看| 韩国一区二区视频| 日本高清免费不卡视频| 亚洲精品在线三区| 亚洲自拍偷拍九九九| 国产精品18久久久| 欧美色区777第一页| 中文幕一区二区三区久久蜜桃| 日日夜夜一区二区| 成人黄色软件下载| 精品日韩欧美在线| 亚洲影院理伦片| 风间由美性色一区二区三区| 欧美一区二区在线看|