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

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

?? lcd.c

?? MTK平臺的多種LCD驅動
?? C
?? 第 1 頁 / 共 5 頁
字號:
   LCD_DataWrite_D15G17E(end_column);
}

/****************************************************************************
	FUNCTION NAME		: PWM2_level

  	PURPOSE			: This function is to setup backlight power level.

	INPUT PARAMETERS	: kal_uint8

	OUTPUT PARAMETERS	: void
*****************************************************************************/

void LCD_blockClear_D15G17E(kal_uint16 x1,kal_uint16 y1,kal_uint16 x2,kal_uint16 y2,kal_uint16 data)
{
	kal_uint16 LCD_x;
	kal_uint16 LCD_y;
	
	LCD_Set_Y_Addr_D15G17E(y1, y2);
	LCD_Set_X_Addr_D15G17E(x1, x2);
	LCD_CtrlWrite_D15G17E(LCD_RAM_WRITE_D15G17E);
	
	for(LCD_x=x1;LCD_x<=x2;LCD_x++)
	   for(LCD_y=y1;LCD_y<=y2;LCD_y++)
	      LCD_RAMWrite_D15G17E(data);
}

void LCD_ClearAll_D15G17E(kal_uint16 data)
{
	LCD_blockClear_D15G17E(0, 0, LCD_WIDTH-1, LCD_HEIGHT-1, data);      
}


/* EPSON D15G17E ***********************************************************/
/* 128x128(65K), Parallel i/o, COG Type                                    */
/***************************************************************************/

/*********************/
/* LCD-MMI Interface */
/*********************/

/****************************************************************************
	FUNCTION NAME		: LCD_Init

  	PURPOSE			: This function is to initialize Main LCD.

	INPUT PARAMETERS	: kal_uint32, void

	OUTPUT PARAMETERS	: void
*****************************************************************************/
void LCD_Init_D15G17E(kal_uint32 bkground, void **buf_addr)
{
      kal_uint16 background = (kal_uint16)bkground;
      volatile kal_uint8 i;
      
      //*EMI_CON3 = 0xE607;
      
      for(i=0;i<=4;i++){
 	     LCD_CtrlWrite_D15G17E(0x00);		// NOP
      }
      LCD_Delay(100);
      /* Software Reset */
      LCD_CtrlWrite_D15G17E(LCD_SW_RESET_D15G17E);		// 0x01
      LCD_Delay(100);
      for(i=0;i<=4;i++){
 	     LCD_CtrlWrite_D15G17E(0x00);		// NOP
      }
            
      /* Display Control */
      LCD_CtrlWrite_D15G17E(LCD_DISPLAY_CTRL_SET_D15G17E);	// 0xB6
      LCD_DataWrite_D15G17E(0x4A)	// 0x4A
      LCD_DataWrite_D15G17E(0x18);	// N-line inversion 2~132 0x02~0x84
      LCD_DataWrite_D15G17E(0x04);	// b7: 0 no division osc. freq., 1 Fosc/2
      LCD_DataWrite_D15G17E(0x86);	// duty
      LCD_DataWrite_D15G17E(0x84);	// display line
      
      LCD_Delay(100);
      /* Driver Position */
      LCD_CtrlWrite_D15G17E(0xBB);
      LCD_DataWrite_D15G17E(0x04);	// 0x04
      
      /* Power Control */
      LCD_CtrlWrite_D15G17E(0xBE);
      LCD_DataWrite_D15G17E(0x4D);
      LCD_DataWrite_D15G17E(0x01);
      
      /* Voltage Control */
      LCD_CtrlWrite_D15G17E(0xBA);
      LCD_DataWrite_D15G17E(0x46);
      LCD_DataWrite_D15G17E(0x46);
      
      /* Set Contrast */
      LCD_CtrlWrite_D15G17E(LCD_CONTRAST_SET_D15G17E);	// 0x25
      LCD_DataWrite_D15G17E(0x48); //contrast 0x48
      
      LCD_Delay(100);      
      LCD_Delay(100);
      
      /* Normal Display On */
      LCD_CtrlWrite_D15G17E(0x13);
      
      /* Interface Pixel Format */
      LCD_CtrlWrite_D15G17E(0x3A);
      LCD_DataWrite_D15G17E(0x05);	// 16bits/pixel, 65K color
      
      /* Memery Access Control */
      LCD_CtrlWrite_D15G17E(0x36);
      #ifdef __GD85_TCL_DRV_LCD_D15G17E_EPSON_2__
           LCD_DataWrite_D15G17E(0x48);	/* RGB 0x00 BGR 0x08 */
      #else	/* !EPSON_1 */
           LCD_DataWrite_D15G17E(0x88);	/* RGB 0x00 BGR 0x08 */
      #endif	/* EPSON_2 */
      
      
      /* Page Address Set */
      LCD_CtrlWrite_D15G17E(LCD_PAGE_ADDRESS_SET_D15G17E);	// 0x2B
      LCD_DataWrite_D15G17E(0x00);	// Start
      LCD_DataWrite_D15G17E(0x7F);	// End
      
      /* Column Address Set */
      LCD_CtrlWrite_D15G17E(LCD_COLUMN_ADDRESS_SET_D15G17E); 	// 0x2A
      LCD_DataWrite_D15G17E(0x00);	// Start
      LCD_DataWrite_D15G17E(0x7F);	// End

      LCD_Delay(100);	// Wait
      
      /* EXIT Sleep Mode */
      LCD_CtrlWrite_D15G17E(LCD_EXIT_SLEEP_D15G17E);	// 0x11
      
      LCD_blockClear_D15G17E(0+2, 2, LCD_WIDTH-1+2, LCD_HEIGHT+1, background);
      /* Display On */
      LCD_CtrlWrite_D15G17E(LCD_DISPLAY_ON_D15G17E);	// 0x29
      
      /* No Operation */
      LCD_CtrlWrite_D15G17E(LCD_NOP_D15G17E);		// 0xAA
      LCD_Delay(100);
      
            
}

/****************************************************************************
	FUNCTION NAME		: LCD_EnterSleep

  	PURPOSE			: This function is to make LCD enter sleep mode.

	INPUT PARAMETERS	: void

	OUTPUT PARAMETERS	: void
*****************************************************************************/

void LCD_EnterSleep_D15G17E(void)
{
  // LCD_CtrlWrite_D15G17E(LCD_ENTER_SLEEP_D15G17E);
     LCD_CtrlWrite_D15G17E(LCD_DISPLAY_OFF_D15G17E); 
}

/****************************************************************************
	FUNCTION NAME		: LCD_ExitSleep

  	PURPOSE			: This function is to make LCD exit sleep mode.

	INPUT PARAMETERS	: void

	OUTPUT PARAMETERS	: void
*****************************************************************************/

void LCD_ExitSleep_D15G17E(void)
{
  // LCD_CtrlWrite_D15G17E(LCD_EXIT_SLEEP_D15G17E);
   LCD_CtrlWrite_D15G17E(LCD_DISPLAY_ON_D15G17E);
   
}

/****************************************************************************
	FUNCTION NAME		: LCD_PWRON

  	PURPOSE			: This function is to power on/off LCD.

	INPUT PARAMETERS	: kal_bool

	OUTPUT PARAMETERS	: void
*****************************************************************************/

void LCD_PWRON_D15G17E(kal_bool on)
{
   if(on)
   {
      LCD_ExitSleep_D15G17E();
   }
   else
   {
      LCD_EnterSleep_D15G17E();
   }
}

/****************************************************************************
	FUNCTION NAME		: LCD_SetContrast

  	PURPOSE			: This function is to set LCD contrast.

	INPUT PARAMETERS	: kal_uint8

	OUTPUT PARAMETERS	: void
*****************************************************************************/

void LCD_SetContrast_D15G17E(kal_uint8 voltage)
{
	if (voltage > 127)
	voltage = 127;
	LCD_CtrlWrite_D15G17E(LCD_CONTRAST_SET_D15G17E);
	LCD_DataWrite_D15G17E(voltage);
}

/****************************************************************************
	FUNCTION NAME		: LCD_ON

  	PURPOSE			: This function is to turn on/off LCD panel.

	INPUT PARAMETERS	: kal_bool

	OUTPUT PARAMETERS	: void
*****************************************************************************/

void LCD_ON_D15G17E(kal_bool on)
{
   if (on)
   {
      LCD_CtrlWrite_D15G17E(LCD_DISPLAY_ON_D15G17E);
   }
   else
   {
      LCD_CtrlWrite_D15G17E(LCD_DISPLAY_OFF_D15G17E);
   }
}

/****************************************************************************
	FUNCTION NAME		: LCD_BlockWrite

  	PURPOSE			: This function is to

	INPUT PARAMETERS	: kal_uint16(startx, starty, endx, endy)

	OUTPUT PARAMETERS	: void
*****************************************************************************/

void LCD_BlockWrite_D15G17E(kal_uint16 startx,kal_uint16 starty,kal_uint16 endx,kal_uint16 endy)
{
   kal_uint16 l_startx=startx+2, l_starty=starty+2, l_endx=endx+2, l_endy=endy+2;

   #if ( (defined(MT6205B)) || (defined(MT6218)) )
      #ifndef LCD_DMAENABLE
         kal_uint16 x, y;
      #else	/* !LCD_DMAENABLE */
         kal_uint32 addr;
      #endif	/* LCD_DMAENABLE */
   #endif	/* (defined(MT6205B)) || (defined(MT6218)) */

   #if ( (defined(MT6205)) || (defined(MT6208)) || (defined(FPGA)) )
      kal_uint16 x, y;
   #endif	/* (MT6205, MT6208, FPGA) */

   ASSERT(lcd_assert_fail==KAL_FALSE);
   lcd_assert_fail = KAL_TRUE;

   LCD_Set_X_Addr_D15G17E(l_startx, l_endx);
   LCD_Set_Y_Addr_D15G17E(l_starty, l_endy);
   LCD_CtrlWrite_D15G17E(LCD_RAM_WRITE_D15G17E);
   
   #if ( (defined(MT6205B)) || (defined(MT6218)) )
   
   addr=get_lcd_frame_buffer_address();
   
      #ifdef LCD_DMAENABLE
         ASSERT(DRV_Reg(LCD_REFR)==0x00);
         addr += ((starty*LCD_WIDTH+startx)<<1);
         
         #ifdef MT6218
            DRV_WriteReg(LCD_MSBSRC,(kal_uint16)(addr >> 16));
         #else	/* MT6218 */
            DRV_WriteReg(LCD_MSBSRC,(kal_uint16)((addr >> 16)|0x0080));
         #endif	/* !MT6218 */
      
         DRV_WriteReg(LCD_LSBSRC,(kal_uint16)addr);
         DRV_WriteReg(LCD_REFR,0x0000);
         DRV_WriteReg(LCD_MSBDST, (kal_uint16)(LCD_DATAAddr >> 16));
         DRV_WriteReg(LCD_LSBDST, (kal_uint16)(LCD_DATAAddr));
         DRV_WriteReg(LCD_CADDRSET, (kal_uint16)((endx - startx + 1)*2));
         DRV_WriteReg(LCD_PADDRSET, (kal_uint16)(endy - starty + 1));
         DRV_WriteReg(LCD_CHOP,(kal_uint16)((LCD_WIDTH - (endx - startx + 1))*2));

         /* 8 bit bus */
         DRV_WriteReg(LCD_PCON, (0x0000));
         DRV_WriteReg(LCD_START, LCD_START_BIT);
      
         while(DRV_Reg(LCD_GSTA) & LCD_GSTA_PRUN);
            DRV_WriteReg(LCD_START, LCD_STOP_BIT);
            DRV_WriteReg(LCD_PCON, (0x0000));
      #else	/* LCD_DMAENABLE */
         for(y=l_starty;y<=l_endy;y++)
            for(x=l_startx;x<=l_endx;x++)
            {
            	LCD_RAMWrite_D15G17E((kal_uint16)lcd_shadow_buffer[y][x]);
   	    }
      #endif	/* !LCD_DMAENABLE */
   #endif	/* (defined(MT6205B)) || (defined(MT6218)) */

   #if (defined(MT6218B)||defined(MT6219)|| defined(MT6217)) //20050413 yguangyong added 6217 option
		#ifdef LCD_CMD_DMA_MODE

		#else			

			ENABLE_LCD_TRANSFER_COMPLETE_INT;
			DISABLE_LCD_ROI_CTRL_CMD_FIRST;
			while (LCD_IS_RUNNING) {};
				START_LCD_TRANSFER;
		#endif
   #endif /* MT6218B, MT6219 */
   lcd_assert_fail = KAL_FALSE;
}

/****************************************************************************
	FUNCTION NAME		: LCD_Size_ST7565

  	PURPOSE			: This function is to set Sub_LCD width and height.

	INPUT PARAMETERS	: kal_uint16(width, height)

	OUTPUT PARAMETERS	: void
	
*****************************************************************************/

void LCD_Size_D15G17E(kal_uint16 *out_LCD_width,kal_uint16 *out_LCD_height)
{
	*out_LCD_width = LCD_WIDTH;
	*out_LCD_height = LCD_HEIGHT;
}

/* Engineering mode */

/****************************************************************************
	FUNCTION NAME		: LCD_GetParm

  	PURPOSE			: This function is to obtain the parameter numbers
  				  for engineering mode APIs.

	INPUT PARAMETERS	: lcd_func_type

	OUTPUT PARAMETERS	: kal_uint8
*****************************************************************************/

kal_uint8 LCD_GetParm_D15G17E(lcd_func_type type)
{
   switch(type)
   {
      case lcd_Bais_func:
         return 1;
      case lcd_Contrast_func:
         return 1;
      case lcd_LineRate_func:
         return 1;
      case lcd_Temperature_Compensation_func:
         return 1;
      default:
         ASSERT(0);
         return 100;
   }
}

/****************************************************************************
	FUNCTION NAME		: LCD_SetBias

  	PURPOSE			: This function is to setup LCD bias.

	INPUT PARAMETERS	: kal_uint8

	OUTPUT PARAMETERS	: void
*****************************************************************************/

void LCD_SetBias_D15G17E(kal_uint8 *bias)
{
   LCD_CtrlWrite_D15G17E(LCD_BIAS_SET_D15G17E);
   LCD_DataWrite_D15G17E(*bias);
}

/****************************************************************************
	FUNCTION NAME		: LCD_Contrast

  	PURPOSE			: This function is setup LCD contrast. Basically,
				  it is the same as BrightLevel function.
				  
	INPUT PARAMETERS	: kal_uint8

	OUTPUT PARAMETERS	: void
*****************************************************************************/

void LCD_Contrast_D15G17E(kal_uint8 *contrast)
{
	//if (*contrast > 127)
	//*contrast = 127;
	LCD_CtrlWrite_D15G17E(LCD_CONTRAST_SET_D15G17E);
	LCD_DataWrite_D15G17E((*contrast)&0x7F);
}

/****************************************************************************
	FUNCTION NAME		: LCD_LineRate

  	PURPOSE			: This function is to setup LCD frame refresh
  				  rate.

	INPUT PARAMETERS	: kal_uint8

	OUTPUT PARAMETERS	: void
*****************************************************************************/

void LCD_LineRate_D15G17E(kal_uint8 *linerate)
{
   LCD_CtrlWrite_D15G17E(LCD_NLINE_INVERSION_SET_D15G17E);
   LCD_DataWrite_D15G17E(*linerate);
}

/****************************************************************************
	FUNCTION NAME		: LCD_Temp_Compensate

  	PURPOSE			: This function is to setup LCD temperature compensation.

	INPUT PARAMETERS	: kal_uint8

	OUTPUT PARAMETERS	: void
*****************************************************************************/

void LCD_Temp_Compensate_D15G17E(kal_uint8 *compensate)
{
   LCD_CtrlWrite_D15G17E(LCD_TEMP_COMPENSATION_SET_D15G17E);
   LCD_DataWrite_D15G17E(*compensate&0x03);
 
}

LCD_Funcs LCD_func_D15G17E = {
   LCD_Init_D15G17E,
   LCD_PWRON_D15G17E,
   LCD_SetContrast_D15G17E,
   LCD_ON_D15G17E,
   LCD_BlockWrite_D15G17E,
   LCD_Size_D15G17E,
   LCD_EnterSleep_D15G17E,
   LCD_ExitSleep_D15G17E,
   0,
   0,
   0,
   /*Engineering mode*/
   LCD_GetParm_D15G17E,
   LCD_SetBias_D15G17E,
   LCD_Contrast_D15G17E,
   LCD_LineRate_D15G17E,
   LCD_Temp_Compensate_D15G17E
};

#endif //#if ( (defined(__GD85_TCL_DRV_LCD_D15G17E_EPSON_1__)) || (defined(__GD85_TCL_DRV_LCD_D15G17E_EPSON_2__)))







/* SAMSUNG S6B33B0A ***********************************************************/
/* 128x128(65K), Parallel i/o, COG Type                                    */
/***************************************************************************/
#if (defined (__GD85_TCL_DRV_LCD_S6B33B0A_SAMSUNG__))


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产欧美一区二区三区丁香婷| 日韩欧美一级精品久久| 久久99精品国产91久久来源| 亚洲成av人片在线| 亚洲国产精品久久人人爱| 一个色妞综合视频在线观看| 一级日本不卡的影视| 亚洲综合男人的天堂| 亚洲国产一区二区在线播放| 婷婷国产v国产偷v亚洲高清| 免费的国产精品| 国产精品一线二线三线精华| 国产成人免费网站| 99re视频精品| 日本久久一区二区三区| 欧美日韩三级一区| 精品精品国产高清a毛片牛牛| 26uuu国产电影一区二区| 国产精品久久久久久久久搜平片| 亚洲欧美在线另类| 亚洲在线免费播放| 久久99国内精品| av一区二区三区黑人| 欧美日韩一区中文字幕| 在线电影欧美成精品| 精品盗摄一区二区三区| 国产精品第13页| 三级精品在线观看| 国产91在线观看| 欧美在线看片a免费观看| 欧美成人午夜电影| 一区二区三区在线播| 奇米色777欧美一区二区| 风间由美一区二区av101| 欧洲国产伦久久久久久久| 亚洲精品在线电影| 一区二区三区日韩| 国产剧情一区在线| 欧洲日韩一区二区三区| 欧美国产97人人爽人人喊| 亚洲国产精品久久艾草纯爱| 成人午夜av在线| 欧美一区二区女人| 一区二区三区.www| 国产高清一区日本| 日韩欧美电影一二三| 亚洲精品日韩一| 国产精品中文字幕欧美| 欧美喷水一区二区| 国产精品福利一区| 国产精品综合二区| 6080国产精品一区二区| 亚洲黄色性网站| 不卡欧美aaaaa| 久久久精品tv| 国产一区二区不卡老阿姨| 欧美日韩一级大片网址| 亚洲美女在线国产| kk眼镜猥琐国模调教系列一区二区| 日韩久久久精品| 亚洲高清不卡在线| 欧美午夜寂寞影院| 一区二区三区在线观看网站| av午夜精品一区二区三区| 国产亚洲综合av| 国产精品一区二区不卡| 欧美一区二区三区婷婷月色| 亚洲二区在线视频| 在线亚洲欧美专区二区| 自拍av一区二区三区| av午夜一区麻豆| 中文字幕一区二区三区四区| 国产成人av电影在线播放| 久久久久久久久久久久电影| 国产麻豆视频精品| 久久精品日产第一区二区三区高清版| 精品在线播放免费| 日韩一级大片在线| 蜜桃av噜噜一区| 26uuu亚洲| 丰满白嫩尤物一区二区| 一区二区日韩av| 色吊一区二区三区| 亚洲成人免费av| 日韩免费在线观看| 国产曰批免费观看久久久| 久久亚洲私人国产精品va媚药| 伦理电影国产精品| 国产亚洲成av人在线观看导航| 国产精品一区二区在线观看网站| 欧美tk—视频vk| 成人一区二区三区| 一区二区三区四区高清精品免费观看 | 性做久久久久久免费观看欧美| 在线亚洲+欧美+日本专区| 亚洲国产成人精品视频| 欧美一区二区三区白人| 国产成人精品三级麻豆| 17c精品麻豆一区二区免费| 91成人在线精品| 久久精品久久综合| 亚洲日本中文字幕区| 欧美性大战久久久久久久 | 日韩欧美电影一区| 国产精品白丝av| 亚洲色图欧洲色图婷婷| 欧美日韩在线播| 国产成人免费在线视频| 亚洲精品中文字幕乱码三区| 日韩欧美的一区| 色综合久久66| 精品在线一区二区三区| 亚洲人成人一区二区在线观看| 91精品啪在线观看国产60岁| 成人短视频下载| 秋霞午夜av一区二区三区| 国产精品青草综合久久久久99| 欧美午夜片在线观看| 国产91综合网| 久久99久国产精品黄毛片色诱| 国产精品久线在线观看| 日韩欧美你懂的| 欧美精品乱人伦久久久久久| 国产成人精品亚洲日本在线桃色| 日韩精品91亚洲二区在线观看| 欧美国产精品久久| 2020国产精品久久精品美国| 欧美日韩精品欧美日韩精品| 91美女福利视频| 成人免费视频视频| 激情亚洲综合在线| 天天av天天翘天天综合网色鬼国产 | 国产高清成人在线| 免费看日韩精品| 天天综合色天天| 亚洲乱码国产乱码精品精的特点 | 国产麻豆精品95视频| 日本系列欧美系列| 亚洲综合免费观看高清在线观看| 日本一二三不卡| 久久久久免费观看| 久久久激情视频| 精品成人a区在线观看| 日韩一区二区免费在线观看| 欧美怡红院视频| 在线观看亚洲a| 色婷婷久久一区二区三区麻豆| 成人黄页在线观看| av在线播放一区二区三区| 国产大陆a不卡| 国产91丝袜在线播放| 国产成人av电影在线观看| 国产在线一区二区| 国产精品18久久久久久vr| 美女久久久精品| 国产一区 二区| 国产成a人无v码亚洲福利| 国产精品影视网| 不卡av在线网| 91福利视频在线| 欧美理论片在线| 日韩视频中午一区| 国产视频在线观看一区二区三区 | 成人动漫视频在线| 91蜜桃网址入口| 欧美肥妇free| 精品国产百合女同互慰| 久久久久久麻豆| 亚洲男女毛片无遮挡| 亚洲不卡av一区二区三区| 免费观看在线色综合| 国产毛片精品一区| 成人av影视在线观看| 在线日韩一区二区| 91精品国产丝袜白色高跟鞋| 久久一日本道色综合| 亚洲欧洲av一区二区三区久久| 亚洲一区二区三区在线| 免费观看在线色综合| 国产成人亚洲综合a∨婷婷| 色综合久久66| 日韩精品一区二区三区在线观看| 国产欧美一区二区精品性| 成人免费一区二区三区视频| 亚洲乱码国产乱码精品精98午夜| 亚洲成人资源网| 国产成人精品aa毛片| 欧洲色大大久久| 久久亚洲精精品中文字幕早川悠里| 一区精品在线播放| 视频一区视频二区中文| 成人一区二区三区视频在线观看| 欧美三级在线播放| 26uuu色噜噜精品一区| 依依成人精品视频| 成人午夜私人影院| 日韩女优电影在线观看| 亚洲日穴在线视频| 激情综合五月婷婷| 欧美日韩久久一区二区|