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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? tft_s0144.c

?? ARMSTM32 lcd驅(qū)動程序集錦
?? C
?? 第 1 頁 / 共 3 頁
字號:
			for (i = top; i <= bottom; i++)
			{
				S0144_SEND_DATA( *(buf_ptr + j * 176 + i) ); 
				S0144_SEND_DATA( *(buf_ptr + j * 176 + i)<<8 ); 
			}
		}			
	}
	else
	{
		for (j = top; j <= bottom; j++)
		{
			for (i = left; i <= right; i++)
			{
				S0144_SEND_DATA( *(buf_ptr + j * 176 + i) );
				S0144_SEND_DATA( *(buf_ptr + j * 176 + i)<<8 );
			}
		}				
	}	

	S0144_SEND_COMMAND(0x0300 );//Qlw 2006/12/06
	S0144_SEND_DATA(0x0000);
	S0144_SEND_DATA(0x3000);
#endif
	return ERR_LCD_NONE;
}
/*@Zhemin.Lin, CR9122, begin*/

static LCD_SPEC_T g_S0144_spec =
{
	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  S0144_GetMainLcdSpec(
	LCD_SPEC_T *spec_ptr 	//spec struct pointer
	)
{
	if (spec_ptr == PNULL)
	{
		return 1;
	}
	
	memcpy(spec_ptr, &g_S0144_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  S0144_EnterSleep(
	BOOLEAN is_sleep 	//SCI_TRUE: exter sleep mode;SCI_FALSE:exit sleep mode.
	)
{

	if ( is_sleep ) // enter sleep mode.
	{
	
		S0144_GoSleep(); 
	}
	else 			// out sleep mode 
	{
		//S0144_reset();
		S0144_ExitSleep();
		Delayms(100);
	}

	/*
	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 S0144_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
	)
{
	S0144_set_display_window(left, top, right, bottom);
#ifndef DATA_8BIT
	S0144_sendcommand1(0x0021, OFFSET_X);		//@David.Jia 2005.12.26

	S0144_SEND_COMMAND(0x0022); 				//@David.Jia 2005.12.26
#else
	S0144_SEND_COMMAND(0x2100);
	S0144_SEND_DATA(OFFSET_X);
	S0144_SEND_DATA(OFFSET_X<<8);

	S0144_SEND_COMMAND(0x2200); 			// send data.
#endif
	return ERR_LCD_NONE;
}

/*********************************************************************/
//  Description:   Initialize color LCD : S0144
//  Input:
//      None.
//  Author:         yinchun.li
//  Return:
//      None.
//	Note:
//  modify:  jim.cui  2005.0728 add dma init  
/*********************************************************************/
LOCAL ERR_LCD_E S0144_Init(void)
{
	
	//dma init
	dma_init ();
	
	//S0144_HW_reset();
	S0144_reset();
	
	S0144_Clear( 0xf25f );
	
	return ERR_LCD_NONE;
}


/******************************************************************************/
//  Description:  set the contrast value 
//	Global resource dependence: 
//  Author:         Jim.zhang
//	Note:
/******************************************************************************/
LOCAL ERR_LCD_E   S0144_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   S0144_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 S0144_Close()
{
    GPIO_SetLcdBackLight( SCI_FALSE );
    S0144_EnterSleep( SCI_TRUE );	
}


LOCAL LCD_OPERATIONS_T S0144_operations = 
{
	S0144_Init,
	S0144_EnterSleep,
	S0144_SetContrast,
	S0144_SetBrightness,
	S0144_SetDisplayWindow,
	S0144_GetInfo,
	S0144_InvalidateRect,
	S0144_InvalidateRectImage,
	S0144_Invalidate,
	S0144_Clear,
	S0144_Close,
	S0144_GetMainLcdSpec
};

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

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


LOCAL S0144_GoSleep(void)
{
#ifndef DATA_8BIT  
 	/**************display off setting******************/

	S0144_sendcommand1(0x0007, 0x0036);
	Delayms(100);
	S0144_sendcommand1(0x0007, 0x0026);
	Delayms(10);
	S0144_sendcommand1(0x0007, 0x0000);
	S0144_sendcommand1(0x0013, 0x0000);
	S0144_sendcommand1(0x0010, 0x0000);


	/**************into sleep mode******************/

	S0144_sendcommand1(0x0010, 0x0002);
#else
	S0144_SEND_COMMAND(0x0700);
 	S0144_SEND_DATA(0x0000);
	S0144_SEND_DATA(0x3600);
	Delayms(100);

	S0144_SEND_COMMAND(0x0700);
 	S0144_SEND_DATA(0x0000);
	S0144_SEND_DATA(0x2600);
	Delayms(10);

	S0144_SEND_COMMAND(0x0700);
 	S0144_SEND_DATA(0x0000);
	S0144_SEND_DATA(0x0000);

	S0144_SEND_COMMAND(0x1300);
 	S0144_SEND_DATA(0x0000);
	S0144_SEND_DATA(0x0000);

	S0144_SEND_COMMAND(0x1000);
 	S0144_SEND_DATA(0x0000);
	S0144_SEND_DATA(0x0000);

	S0144_SEND_COMMAND(0x1000);
 	S0144_SEND_DATA(0x0000);
	S0144_SEND_DATA(0x0200);
#endif
}

LOCAL S0144_ExitSleep(void)
{
#ifndef DATA_8BIT
	/**************out sleep mode******************/

	S0144_sendcommand1(0x0010, 0x0000);

	/**************power supply setting******************/

	S0144_sendcommand1(0x00b4, 0x0000);//MTPSEL OFF(if not use mtp)
	S0144_sendcommand1(0x0007, 0x0000); 
	S0144_sendcommand1(0x0012, 0x00b3);//SVC 11 VC 3
	S0144_sendcommand1(0x0013, 0x0808);//VCOMR ON VRH13
	S0144_sendcommand1(0x0014, 0x7de0);
	S0144_sendcommand1(0x0010, 0x1a6c);
	Delayms(50);
	S0144_sendcommand1(0x0013, 0x081e);
	Delayms(50);

	/**************display on setting******************/

	S0144_sendcommand1(0x0007, 0x0005);//Display control
	Delayms(10);
	S0144_sendcommand1(0x0007, 0x0025);//Display control 25
	S0144_sendcommand1(0x0007, 0x0027);//Display control 23
	Delayms(50);
	S0144_sendcommand1(0x0007, 0x0037);//Display control
#else
	S0144_SEND_COMMAND(0x1000);
 	S0144_SEND_DATA(0x0000);
	S0144_SEND_DATA(0x0000);

	S0144_SEND_COMMAND(0xb400);
 	S0144_SEND_DATA(0x0000);
	S0144_SEND_DATA(0x0000);

	S0144_SEND_COMMAND(0x0700);
 	S0144_SEND_DATA(0x0000);
	S0144_SEND_DATA(0x0000);

	S0144_SEND_COMMAND(0x1200);
 	S0144_SEND_DATA(0x0000);
	S0144_SEND_DATA(0xb300);

	S0144_SEND_COMMAND(0x1300);
 	S0144_SEND_DATA(0x0800);
	S0144_SEND_DATA(0x0800);

	S0144_SEND_COMMAND(0x1400);
 	S0144_SEND_DATA(0x7d00);
	S0144_SEND_DATA(0xe000);

	S0144_SEND_COMMAND(0x1000);
 	S0144_SEND_DATA(0x1a00);
	S0144_SEND_DATA(0x6c00);
	Delayms(50);
	
	S0144_SEND_COMMAND(0x1300);
 	S0144_SEND_DATA(0x0800);
	S0144_SEND_DATA(0x1e00);
	Delayms(50);

	S0144_SEND_COMMAND(0x0700);
 	S0144_SEND_DATA(0x0000);
	S0144_SEND_DATA(0x0500);
	Delayms(10);

	S0144_SEND_COMMAND(0x0700);
 	S0144_SEND_DATA(0x0000);
	S0144_SEND_DATA(0x2500);

	S0144_SEND_COMMAND(0x0700);
 	S0144_SEND_DATA(0x0000);
	S0144_SEND_DATA(0x2700);
	Delayms(50);

	S0144_SEND_COMMAND(0x0700);
 	S0144_SEND_DATA(0x0000);
	S0144_SEND_DATA(0x3700);

#endif
}
#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*S0144_WIDTH+j)=color;
    }
  }

}

void TestUpdateLcd(void)
{
	main_lcd_fill_rect(0,S0144_WIDTH-1, 0, S0144_HEIGHT-1, 0x0780);	
	while(1)
	{
		S0144_Invalidate();			
	}
}
#endif

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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产高清精品网站| 亚洲一级片在线观看| 国产精品每日更新| 有码一区二区三区| 奇米精品一区二区三区四区| 久久se这里有精品| aaa国产一区| 91精品国产色综合久久不卡电影 | 天天综合天天做天天综合| 麻豆精品一区二区三区| 成人免费视频国产在线观看| 欧美综合亚洲图片综合区| 日韩精品一区二区三区视频| 国产精品视频第一区| 日韩主播视频在线| 成人免费视频一区二区| 91精品国产一区二区人妖| 国产精品伦理一区二区| 婷婷综合久久一区二区三区| 国产精品资源网| 欧美少妇性性性| 欧美激情在线观看视频免费| 亚洲成a人v欧美综合天堂| 国产成人无遮挡在线视频| 欧美视频三区在线播放| 中文av字幕一区| 免费观看日韩av| 欧美综合在线视频| 国产精品污网站| 狠狠色丁香久久婷婷综| 欧美日韩色综合| 国产精品九色蝌蚪自拍| 极品瑜伽女神91| 欧美乱妇15p| 亚洲欧美视频一区| 国产九色精品成人porny| 欧美精品xxxxbbbb| 亚洲欧洲一区二区在线播放| 久久精品国产亚洲aⅴ| 欧美亚洲国产怡红院影院| 国产农村妇女毛片精品久久麻豆 | 久久夜色精品国产欧美乱极品| 亚洲综合色自拍一区| 成人激情动漫在线观看| 久久视频一区二区| 青草国产精品久久久久久| 欧美在线观看一区| 亚洲女女做受ⅹxx高潮| 成人黄色小视频在线观看| 精品国精品国产| 男人的天堂亚洲一区| 欧美性三三影院| 亚洲自拍另类综合| 色婷婷激情综合| 成人欧美一区二区三区白人| 成人av免费网站| 国产精品人成在线观看免费| 国产高清成人在线| 久久精品免费在线观看| 国产裸体歌舞团一区二区| 欧美sm极限捆绑bd| 美国十次综合导航| 欧美电影免费观看高清完整版在 | 精品国产乱码久久久久久图片| 午夜精品福利一区二区蜜股av| 96av麻豆蜜桃一区二区| 亚洲国产精品成人久久综合一区 | 亚洲欧美日韩国产中文在线| 成人伦理片在线| 国产精品二三区| 99精品欧美一区二区蜜桃免费| 国产精品天天摸av网| 丁香另类激情小说| 日韩美女精品在线| 色综合色综合色综合色综合色综合 | 天天爽夜夜爽夜夜爽精品视频| 欧美日韩国产首页| 全国精品久久少妇| 精品av综合导航| 国产91清纯白嫩初高中在线观看| 国产亚洲欧洲997久久综合| 国产精品自在在线| 国产精品成人网| 日本精品视频一区二区| 亚洲国产va精品久久久不卡综合| 欧美日韩久久久| 男女男精品视频网| 久久久91精品国产一区二区精品| 高清视频一区二区| 亚洲男人的天堂一区二区| 欧美四级电影网| 奇米影视7777精品一区二区| 精品99一区二区三区| k8久久久一区二区三区| 亚洲综合色网站| 日韩一区二区免费高清| 国产一区二区91| 亚洲欧美日韩在线| 欧美丰满嫩嫩电影| 国产一区二区精品在线观看| 国产精品美女久久久久久久网站| 91毛片在线观看| 丝瓜av网站精品一区二区| 26uuuu精品一区二区| 99麻豆久久久国产精品免费优播| 一区二区在线看| 日韩精品专区在线| 成人av午夜电影| 日韩综合一区二区| 中文字幕欧美国产| 欧美亚洲综合网| 国产一区二区三区久久久| 亚洲视频在线一区| 日韩免费电影一区| 91网站在线播放| 麻豆精品一区二区av白丝在线| 亚洲国产高清不卡| 欧美日韩精品欧美日韩精品一| 精品亚洲成av人在线观看| 综合激情网...| 欧美成人一区二区三区| 99久久99久久精品免费看蜜桃| 婷婷丁香激情综合| 中文字幕中文字幕一区| 欧美一区二区不卡视频| 成人sese在线| 久久精品国产亚洲a| 最新国产精品久久精品| 日韩欧美亚洲一区二区| 91视视频在线直接观看在线看网页在线看 | 大桥未久av一区二区三区中文| 亚洲影院在线观看| 久久久久久久久蜜桃| 欧美羞羞免费网站| 国产成人av电影在线观看| 亚洲成av人片| 亚洲色图清纯唯美| 精品电影一区二区三区| 欧美丝袜丝nylons| 国产99久久久国产精品潘金网站| 亚洲地区一二三色| 国产精品美日韩| 2024国产精品| 欧美高清hd18日本| 91看片淫黄大片一级| 国产一级精品在线| 青青草原综合久久大伊人精品| 亚洲欧美一区二区三区极速播放| 精品久久人人做人人爱| 欧美日韩免费电影| 91国产精品成人| 波多野结衣中文字幕一区二区三区 | 一本大道av一区二区在线播放| 国产精品一区二区在线观看网站| 日本最新不卡在线| 亚洲自拍偷拍综合| 亚洲精品亚洲人成人网| 国产精品国产三级国产aⅴ原创| 久久久亚洲精品一区二区三区| 欧美一级电影网站| 欧美乱妇20p| 欧美日韩国产一级片| 欧美性猛片aaaaaaa做受| 99久久精品国产一区| 国产成人在线看| 国产乱码精品一区二区三区忘忧草| 日韩激情中文字幕| 日韩精品亚洲专区| 亚洲成人7777| 日日噜噜夜夜狠狠视频欧美人| 亚洲国产毛片aaaaa无费看 | 欧美日韩一区成人| 欧美在线免费观看亚洲| 在线视频一区二区免费| 色综合色综合色综合色综合色综合 | 精品国产123| 精品理论电影在线观看| 精品日韩在线观看| 日韩欧美你懂的| 欧美刺激午夜性久久久久久久| 欧美一区二区在线免费观看| 欧美久久一区二区| 欧美丰满少妇xxxxx高潮对白| 777午夜精品免费视频| 91精品欧美综合在线观看最新| 欧美精品久久久久久久多人混战| 欧美亚洲日本一区| 欧美日韩另类一区| 91精品国产综合久久福利软件 | 国产乱码精品一品二品| 国产精品一区不卡| eeuss鲁一区二区三区| 色综合久久久久| 欧美四级电影在线观看| 91麻豆精品国产自产在线观看一区| 在线综合视频播放| 久久久三级国产网站| 日本一区免费视频| 亚洲色欲色欲www| 午夜av区久久|