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

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

?? tft_s6d0164.c

?? ARMSTM32 lcd驅動程序集錦
?? C
?? 第 1 頁 / 共 3 頁
字號:
	0,		//uint8	rgb_sequence; 		/*rgb sequence*/
										/*0: R-G-B, 1: B-G-R*/
	10,		//uint8	min_cycle_read;		/*read cycle:  ns*/
	50,		//uint8	min_cycle_write;	/*write cycle: ns*/
	0,		//uint8	cyclenum_sendaddr;	/*operation cycle to send address*/
										/* 0: once, 1:twice*/
	0,		//uint8	cyclenum_senddata;	/*operation cycle to send data */
										/* 0; once, 1:twice*/
	1,		//uint8	cmd_num_setupwin;	/*command number to settint up widnow space*/
										/*0: 4 commands for setting up window space: x-start, x-end, y-start, y-end*/
										/*1: 2 commands for setting up window space: x-address, y-address*/
										/*2: 1 commanns for setting up window space window address*/
										/*3: no commands for setting up window space*/
	1,		//uint8	method_send_cmdaddr;/*how to send command & address*/
										/*0: sending together, 1:sending separately*/
	1,		//uint8	ads_is_high;		/*status of ADS when sending parameter*/
										/*0: low, 1: high*/
	0,		//uint8	sequence_cmdaddr;	/*the sequence of command & address, if not send command & address together as 16 bits*/
										/*0: write 2 window area on a 16bit bus, Hitachi*/
										/*1, write 1 sindow area with one command, Casio*/
										/*2, write 1 command and 2 parameters separately, Samsung*/
										/*3, reserved*/
										/*4, write 1 command, 2 parameters for page, 4 parameters for column, Epson*/
										/*5, write 1 command, 4 parameters for page, 2 parameters for column*/
										/*6, write 1 command, write 4 parameters for each page/column*/
	4,		//uint8	cyclenum_setupwin;	/*operation cycle to set up window*/
	1,		//uint8	method_gram_access;	/*select method to begin actul data read/write address for selected window area in GRAM*/
										/*0: without any assigning x/y address, use initial start address of window*/
										/*1: assign 1 x/y set command and parameter onto 16bit bus at onece*/
										/*2: use separate for X and Y, with upper byte consists of command and lower byte for parameter*/
										/*3, 1 command for selecting X/Y adn 2 parameters, us command and parameter separately*/
										/*4, set different command for x and y, and command and parameter differs*/
	1,		//uint8	sequence_gram_access;/*read/write command and sequence for GRAM*/
										/*0: perform read/write without seperate read/write command but by strobe 'high' ADS(RS)pin, samsung*/
										/*1: data cycle comes right afer read/write command, Toshiba/Matsushita/Hitachi/NEC*/
										/*2: after read/write command follows start address parameter for X and Y and follows data cycle, Casio*/
										/*3: similiar to 2 but sends X and Y parameters together on 16 bit BUS*/
	0,		//uint8	order_xy;			/*order of x and y address, I think, this field is active when sequence_gram_access = 2*/
										/*0: X first*/
										/*1: Y first*/
	1,		//uint8	is_dummy_read;		/*deciding first read data when reading GRAM*/
										/*0: acknowledge first data as valid data*/
										/*1: acknowledge first data as dummy data*/
	3,		//uint8	cyclenum_read;		/*total cycle numbers needed to access GRAM read/write*/
	0x44,	//uint8	win_setstartx_cmd;	/*window x start address set command*/
	0x00,	//uint8	win_setendx_cmd;	/*window x end address set command*/
	0x45,	//uint8	win_setstarty_cmd;	/*window y start address set command*/
	0x00,	//uint8	win_setendy_cmd;	/*window y end address set command*/
	0x21,	//uint8	gram_setx_cmd;		/*gram x address set command*/
	0x00,	//uint8	gram_sety_cmd;		/*gram y address set command*/
	0x22,	//uint8	gram_read_cmd;		/*gram read command*/
	0x22,	//uint8	gram_write_cmd;		/*gram write command*/
	//@zhemin.lin, add 1 line, CR9590
	0x00,	//uint8	line_offset;		/*line offset for display on lcd*/
	0x00	//uint8 colum_offset        /*columoffset for display on lcd*/
};


/******************************************************************************/
//  Description:    get the important parameter for digital camera
//	Global resource dependence: 
//  Author:         Zhemin.lin
//	Note:           
/******************************************************************************/
LOCAL ERR_LCD_E  S6D0164_GetMainLcdSpec(
	LCD_SPEC_T *spec_ptr 	//spec struct pointer
	)
{
	if (spec_ptr == PNULL)
	{
		return 1;
	}
	
	memcpy(spec_ptr, &g_S6D0164_spec, sizeof(LCD_SPEC_T));
	
	return ERR_LCD_NONE;
}

/******************************************************************************/
//  Description:   Enter/Exit sleep mode .
//	Global resource dependence: 
//  Author:         Jim.zhang
//	Note:
/******************************************************************************/
LOCAL ERR_LCD_E  S6D0164_EnterSleep(
	BOOLEAN is_sleep 	//SCI_TRUE: exter sleep mode;SCI_FALSE:exit sleep mode.
	)
{
	SCI_TRACE_LOW("S6D0164_EnterSleep,%d", is_sleep);

	if ( is_sleep ) // enter sleep mode.
	{
		S6D0164_GoSleep(); 
	}
	else 			// out sleep mode 
	{
		//S6D0164_reset();
		S6D0164_ExitSleep();
	}

	/*
	if( !GetUdiskState())
	DC_EnterSleep(is_sleep);
	*/
	return ERR_LCD_NONE;
	}


/*****************************************************************************/
//  Description:    Enable lcd to partial display mode, so can save power.
//	Global resource dependence: 
//  Author:         Jim.zhang
//  Return:         SCI_TRUE:SUCCESS ,SCI_FALSE:failed.
//	Note:           If all input parameters are 0, exit partial display mode.
/*****************************************************************************/
LOCAL ERR_LCD_E S6D0164_SetDisplayWindow(
	uint16 left, 		//left of the window
	uint16 top,			//top of the window
	uint16 right,		//right of the window
	uint16 bottom		//bottom of the window
	)
{
	S6D0164_set_display_window(left, top, right, bottom);

	S6D0164_set_start_address(left, top);		//@David.Jia 2005.12.26

	//S6D0164_SEND_COMMAND(0x0022); 				//@David.Jia 2005.12.26

	return ERR_LCD_NONE;
}

/*********************************************************************/
//  Description:   Initialize color LCD : S6D0164
//  Input:
//      None.
//  Author:         yinchun.li
//  Return:
//      None.
//	Note:
//  modify:  jim.cui  2005.0728 add dma init  
/*********************************************************************/
LOCAL ERR_LCD_E S6D0164_Init(void)
{
	
	//dma init
	dma_init ();
	
	//S6D0164_HW_reset();
	S6D0164_reset();
	
	S6D0164_Clear( 0xf25f );
	
	return ERR_LCD_NONE;
}


/******************************************************************************/
//  Description:  set the contrast value 
//	Global resource dependence: 
//  Author:         Jim.zhang
//	Note:
/******************************************************************************/
LOCAL ERR_LCD_E   S6D0164_SetContrast(
	uint16  contrast	//contrast value to set
	)
{
	return ERR_LCD_FUNC_NOT_SUPPORT;
} 


/*****************************************************************************/
//  Description:    Set the brightness of LCD.
//	Global resource dependence: 
//  Author:         Jim.zhang
//	Note:
/*****************************************************************************/
LOCAL ERR_LCD_E   S6D0164_SetBrightness(
	uint16 brightness	//birghtness to set
	)
{
	return ERR_LCD_FUNC_NOT_SUPPORT;
}

/******************************************************************************/
//  Description:   Close the lcd.(include sub lcd.)
//	Global resource dependence: 
//  Author:         Jim.zhang
//	Note:
/******************************************************************************/
LOCAL void S6D0164_Close()
{
    GPIO_SetLcdBackLight( SCI_FALSE );
    S6D0164_EnterSleep( SCI_TRUE );	
}


LOCAL LCD_OPERATIONS_T S6D0164_operations = 
{
	S6D0164_Init,
	S6D0164_EnterSleep,
	S6D0164_SetContrast,
	S6D0164_SetBrightness,
	S6D0164_SetDisplayWindow,
	S6D0164_GetInfo,
	S6D0164_InvalidateRect,
	S6D0164_InvalidateRectImage,
	S6D0164_Invalidate,
	S6D0164_Clear,
	S6D0164_Close,
	S6D0164_GetMainLcdSpec
};

/******************************************************************************/
//  Description:  return the S6D0164 lcd driver funtion pointer
//	Global resource dependence: 
//  Author:         Jim.zhang
//	Note:
/******************************************************************************/
PUBLIC LCD_OPERATIONS_T* S6D0164_GetOperations()
{
	return &S6D0164_operations;
}

#define ADC_NUM 10
PUBLIC BOOLEAN S6D0164_Probe(void)
{
	return SCI_TRUE;
}


LOCAL S6D0164_GoSleep(void)
{

  S6D0164_SEND_COMMAND(0x0007); 
  S6D0164_SEND_DATA(0x0136);   //GON=1,DTE=1,D1-0=10
  Delayms(30);

  S6D0164_SEND_COMMAND(0x0007);
  S6D0164_SEND_DATA(0x0126);   //GON=1,DTE=0,D1-0=10
  Delayms(30);

  S6D0164_SEND_COMMAND(0x0007); 
  S6D0164_SEND_DATA(0x0124);   //GON=1,DTE=0,D1-0=00
  Delayms(30);

  S6D0164_SEND_COMMAND(0x0010); 
  S6D0164_SEND_DATA(0x0000);   //SAP2-0=000, AP2-0=000

  S6D0164_SEND_COMMAND(0x0013); 
  S6D0164_SEND_DATA(0x0000);   //PON=0
  Delayms(100);

  S6D0164_SEND_COMMAND(0x0010); S6D0164_SEND_DATA(0x0002);    //SLP=1

}

LOCAL S6D0164_ExitSleep(void)
{

      S6D0164_reset();  
       
}

#if 0
LOCAL void main_lcd_fill_rect(uint16 left, uint16 top,uint16 right,  uint16 bottom,uint16 color)
{
	uint16 i,j;
	uint16 *buf_ptr = (uint16 *)LCD_GetLCDBuffer();
	for(i = top; i < bottom;i++)
	{
		for(j = left; j < right; j++)
		{                 
			*(buf_ptr+i*S6D0164_WIDTH+j)=color;
		}
	}

}


void main_lcd_test()
 {
	unsigned long i;


	//GPIO_SetLcdReset( 0 );	//lcd hardware reset.
	//for(i=0; i<3500; i++);		
	//GPIO_SetLcdReset( 1 );

	GPIO_SetLcdBackLight( SCI_TRUE );//set backlight 

	S6D0164_reset();// lcd init 

	for(i=0; i<3500; i++);
	main_lcd_fill_rect(0,0,S6D0164_WIDTH,S6D0164_HEIGHT/3,0xf800);//r
	main_lcd_fill_rect(0,S6D0164_HEIGHT/3,S6D0164_WIDTH,(2*S6D0164_HEIGHT)/3,0x07e0);//g	
	main_lcd_fill_rect(0,(2*S6D0164_HEIGHT)/3,S6D0164_WIDTH,S6D0164_HEIGHT,0x001f);//g	
	S6D0164_Invalidate();
	for(i=0; i<3500; i++);
	main_lcd_fill_rect(0,0,S6D0164_WIDTH,S6D0164_HEIGHT,0x5171);//r	

	S6D0164_InvalidateRect(0,0,20,30);
	//for(i=0; i<3500; i++); 
	//while(1);
}
#endif

/**---------------------------------------------------------------------------*
 **                         Compiler Flag                                     *
 **---------------------------------------------------------------------------*/
#ifdef   __cplusplus
    }
#endif 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
波多野结衣精品在线| 欧美丰满一区二区免费视频| 91国产丝袜在线播放| 欧美一级淫片007| 日韩码欧中文字| 精品一二三四区| 欧美日韩精品欧美日韩精品一| 日本一区二区三区四区| 五月综合激情日本mⅴ| 成人97人人超碰人人99| 91精品国产一区二区三区| 自拍偷在线精品自拍偷无码专区 | 成人av电影在线观看| 91精品国产综合久久久久久久久久| 久久精品一区四区| 另类小说一区二区三区| 欧美日韩一区二区三区四区五区 | 成人激情文学综合网| 日韩一级大片在线观看| 亚洲一区二区欧美日韩 | 欧美亚洲国产一区二区三区| 亚洲国产电影在线观看| 国产一区二区在线观看免费| 欧美一区二区视频免费观看| 亚洲一区二区三区四区在线免费观看| 成人永久免费视频| 国产精品系列在线| 极品少妇xxxx精品少妇| 欧美一区二区在线播放| 三级亚洲高清视频| 国产一区二区三区在线观看免费| 欧美在线小视频| 有坂深雪av一区二区精品| aa级大片欧美| 最新日韩av在线| av成人动漫在线观看| 国产精品理伦片| 成人国产亚洲欧美成人综合网| 国产亚洲欧洲一区高清在线观看| 奇米影视在线99精品| 日韩免费高清电影| 狠狠色丁香久久婷婷综| 欧美经典一区二区| 成人18视频日本| 一区二区三区在线视频播放 | 国产成人免费在线观看| 久久久www成人免费无遮挡大片| 国产在线看一区| 国产清纯在线一区二区www| 国产v日产∨综合v精品视频| 中文字幕一区二区三区在线不卡| 成人高清av在线| 一区二区三区在线观看网站| 欧美视频中文一区二区三区在线观看| 亚洲成人av一区二区| 欧美大肚乱孕交hd孕妇| 国产99精品国产| 国产福利一区二区三区在线视频| 国产无人区一区二区三区| 91原创在线视频| 日韩av电影免费观看高清完整版 | 中文字幕免费观看一区| 色综合激情五月| 日韩和欧美的一区| 国产午夜精品美女毛片视频| 色综合亚洲欧洲| 日韩一二三区不卡| 国产成a人亚洲精品| 亚洲综合在线第一页| 精品美女一区二区三区| av影院午夜一区| 美女在线观看视频一区二区| 欧美国产在线观看| 欧美日韩国产乱码电影| 国产成人综合亚洲网站| 亚洲国产精品一区二区尤物区| 精品av久久707| 欧洲国内综合视频| 国产麻豆精品95视频| 一区二区三区在线视频观看 | 欧美日韩不卡视频| 粗大黑人巨茎大战欧美成人| 青青国产91久久久久久| 国产精品乱码人人做人人爱| 正在播放一区二区| 91麻豆蜜桃一区二区三区| 久久精品av麻豆的观看方式| 亚洲理论在线观看| 久久久99精品免费观看不卡| 欧美日韩大陆一区二区| 91婷婷韩国欧美一区二区| 国产自产视频一区二区三区| 亚洲国产精品精华液网站| 亚洲欧美怡红院| 久久久久国产免费免费 | 色噜噜偷拍精品综合在线| 国模少妇一区二区三区| 日韩电影免费在线观看网站| 亚洲老妇xxxxxx| 国产精品久久看| 国产午夜精品一区二区| 久久亚洲欧美国产精品乐播| 制服丝袜亚洲色图| 欧美区一区二区三区| 91在线视频官网| 成人18视频在线播放| 国产电影精品久久禁18| 极品美女销魂一区二区三区免费| 日韩国产欧美三级| 亚洲va欧美va人人爽午夜 | 国产喷白浆一区二区三区| 欧美一区二区三区在线视频 | 久久精品夜色噜噜亚洲a∨| 欧美一区二视频| 欧美成人综合网站| 日韩欧美国产午夜精品| 欧美成人乱码一区二区三区| 亚洲精品国产精品乱码不99| 国产精品久久久久久久久晋中| 久久网这里都是精品| 久久这里只有精品视频网| 精品国精品自拍自在线| 久久久亚洲精华液精华液精华液| 精品国产123| 国产欧美日韩精品a在线观看| 国产午夜久久久久| 中文字幕一区二区日韩精品绯色| 国产精品天干天干在线综合| 中文字幕精品—区二区四季| 国产精品久久久久久亚洲伦| 亚洲精品美国一| 午夜不卡av在线| 另类人妖一区二区av| 国产大陆精品国产| 成人av手机在线观看| 色婷婷综合五月| 欧美精品xxxxbbbb| 精品剧情在线观看| 国产精品日产欧美久久久久| 综合久久久久久久| 午夜伦欧美伦电影理论片| 免费人成在线不卡| 成人一区二区三区视频| 色老综合老女人久久久| 欧美电影免费观看高清完整版在线观看| 久久看人人爽人人| 一区二区在线观看免费| 奇米在线7777在线精品 | 欧美性高清videossexo| 欧美成人精品1314www| 中文字幕亚洲电影| 五月天久久比比资源色| 国产精品一二三区在线| 在线观看亚洲精品视频| 91精品综合久久久久久| 国产精品美女久久福利网站| 亚洲香肠在线观看| 福利一区在线观看| 欧美一卡二卡三卡| 亚洲九九爱视频| 国产原创一区二区| 欧美亚洲高清一区| 国产精品久久网站| 久久99久国产精品黄毛片色诱| 99久久伊人久久99| 精品福利一二区| 亚洲aaa精品| 91色乱码一区二区三区| 精品国产乱码久久久久久闺蜜| 一区二区三区中文免费| 粉嫩蜜臀av国产精品网站| 欧美三级一区二区| 综合久久久久久久| 国产盗摄视频一区二区三区| 日韩一区二区精品| 亚洲伊人伊色伊影伊综合网| 国产成人自拍高清视频在线免费播放| 欧美精品一二三区| 亚洲在线中文字幕| www.欧美.com| 国产无人区一区二区三区| 久久99精品久久只有精品| 欧美天堂亚洲电影院在线播放| 国产精品久久久久婷婷二区次| 久久99在线观看| 日韩一区二区在线观看视频| 亚洲综合色丁香婷婷六月图片| 不卡一区中文字幕| 麻豆91在线看| 在线成人小视频| 亚洲一区二区视频在线| 一本大道综合伊人精品热热| 国产精品免费看片| 国产成人亚洲综合色影视| 精品久久久久av影院| 老司机精品视频一区二区三区| 精品视频免费看| 亚洲v中文字幕| 日韩精品一区二区三区四区 | 亚洲国产一区视频|