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

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

?? lcddriver.c

?? 在arm上模擬數字示波器
?? C
字號:
/*
;************************************************************************************************************
;*				        				北京精儀達盛科技有限公司
;*                                     	     研    發    部
;*
;*                                 	     http://www.techshine.com
;*
;*--------------------------------------------- 文件信息 ----------------------------------------------------                                      
;*
;* 文件名稱 : target.c	
;* 文件功能 : 該文件為S3C44B0硬件平臺配置具體函數的初始化。
;* 補充說明 : 
;*-------------------------------------------- 最新版本信息 -------------------------------------------------
;* 修改作者 : ARM開發小組
;* 修改日期 : 2004/04/25
;* 版本聲明 : V1.0.1
;*-------------------------------------------- 歷史版本信息 -------------------------------------------------
;* 文件作者 : ARM開發小組
;* 創建日期 : 2004/04/20
;* 版本聲明 : v1.0.0
;*-----------------------------------------------------------------------------------------------------------
;*-----------------------------------------------------------------------------------------------------------
;************************************************************************************************************
;*/
#include <stdarg.h>
#include <stdio.h>

#include "LCDdriver.h"

/*
*************************************************************************************************************
-    配置參數
*************************************************************************************************************
*/
#define 	M5D(n) 		((n) & 0x1fffff)

#define 	SCR_XSIZE 	(320)  
#define 	SCR_YSIZE 	(240)

#define 	LCD_XSIZE 	(320)
#define 	LCD_YSIZE 	(240)

#define 	HOZVAL_COLOR	(LCD_XSIZE*3/8-1)
#define 	LINEVAL			(LCD_YSIZE-1)
#define 	MVAL			(13)
#define 	CLKVAL_COLOR 	(5) 					//60Mhz 
#define 	MVAL_USED 		(0)

#define 	BYTESPERLINE 	(LCD_XSIZE)
#define 	XY2OFF(x,y) 	(tOff)((tOff)y*(tOff)BYTESPERLINE + (x))

typedef unsigned long 	tOff;

#define     READ_MEM(Off, Data)    Data = LCD_READ_MEM(Off)
#define     WRITE_MEM(Off, Data)   LCD_WRITE_MEM(Off, Data)

#define  SETPIXEL(x, y, c)  SetPixel(x, y, c)
#define  GETPIXEL(x, y)     GetPixelIndex(x, y)

extern U16 LCD_COLOR;
/*
*************************************************************************************************************
- 函數名稱 : U16 LCD_READ_MEM(U32 off)
- 函數說明 : 針對硬件的讀點函數
- 輸入參數 : x,y,c
- 輸出參數 : 無
*************************************************************************************************************
*/

U16 LCD_READ_MEM(U32 off)
{
	return (*((U8*)Video_StartBuffer + (off)));
}

/*
*************************************************************************************************************
- 函數名稱 : void LCD_WRITE_MEM( U32 off,U8 Data)
- 函數說明 : 針對硬件的畫點函數
- 輸入參數 : x,y,c
- 輸出參數 : 無
*************************************************************************************************************
*/	
void LCD_WRITE_MEM( U32 off,U8 Data)
{
	(* ((U8*)Video_StartBuffer + (off)) ) = Data;
}

/*
*************************************************************************************************************
- 函數名稱 : static void SetPixel(U16 x,U16 y,int c)
- 函數說明 : 針對硬件的畫點函數
- 輸入參數 : x,y,c
- 輸出參數 : 無
*************************************************************************************************************
*/
static void SetPixel(U16 x, U16 y, U32 c) 
{
  	tOff Off = XY2OFF(x,y);
    WRITE_MEM(Off, c);
}

/*
*************************************************************************************************************
- 函數名稱 : U32 GetPixelIndex(U16 x, U16 y)
- 函數說明 : 針對硬件的得到點的顏色的函數
- 輸入參數 : x,y
- 輸出參數 : color
*************************************************************************************************************
*/
U32 GetPixelIndex(U16 x, U16 y) 
{
  	U32 col;
  	U8 Data;
  	tOff Off = XY2OFF(x,y);
  	READ_MEM(Off,Data);
    col = Data;
  	return col;
}

/*
*************************************************************************************************************
- 函數名稱 : U16  LCD_Init(U8 Lcd_Bpp)  
- 函數說明 : LCD硬件初始化函數
- 輸入參數 : 
- 輸出參數 : 無
*************************************************************************************************************
*/
U16  LCD_Init(U8 Lcd_Bpp) 
{
	switch(Lcd_Bpp)
    {
    	case 8:
			// disable,8B_SNGL_SCAN,WDLY=8clk,WLH=8clk,
			rLCDCON1=(0)|(2<<5)|(MVAL_USED<<7)|(0x1<<8)|(0x1<<10)|(CLKVAL_COLOR<<12);
			//LINEBLANK=10 (without any calculation)
			rLCDCON2=(LINEVAL)|(HOZVAL_COLOR<<10)|(10<<21);
				
			// 256-color, LCDBANK, LCDBASEU     
			rLCDSADDR1= (0x3<<27) | ( ((U32)Video_StartBuffer>>22)<<21 )| M5D((U32)Video_StartBuffer>>1);
	 		rLCDSADDR2= M5D((((U32)Video_StartBuffer + (SCR_XSIZE*LCD_YSIZE))>>1)) | (MVAL<<21)|1<<29;
			rLCDSADDR3= (LCD_XSIZE/2) | ( ((SCR_XSIZE-LCD_XSIZE)/2)<<9 );

			rREDLUT  =0xfdb96420;
			rGREENLUT=0xfdb96420;
			rBLUELUT =0xfb40;

			rDITHMODE=0x0;
	
			rDP1_2 =0xa5a5;      
			rDP4_7 =0xba5da65;
			rDP3_5 =0xa5a5f;
			rDP2_3 =0xd6b;
			rDP5_7 =0xeb7b5ed;
			rDP3_4 =0x7dbe;
			rDP4_5 =0x7ebdf;
			rDP6_7 =0x7fdfbfe;
			rDITHMODE=0x12210;
			// enable,8B_SNGL_SCAN,WDLY=8clk,WLH=8clk, 	
			rLCDCON1=(1)|(2<<5)|(MVAL_USED<<7)|(0x3<<8)|(0x3<<10)|(CLKVAL_COLOR<<12);
			break;
			
 		default:
		    return 1;
	}	
	return 0;    
}

/*
*************************************************************************************************************
- 函數名稱 : void LCD_DrawPixel  (U16 x, U16 y) 
- 函數說明 : 畫點函數
- 輸入參數 : x,y
- 輸出參數 : 無
*************************************************************************************************************
*/
void LCD_DrawPixel  (U16 x, U16 y) 
{
   	SETPIXEL(x, y, LCD_COLOR);
}
	
/*
*************************************************************************************************************
- 函數名稱 : U32 LCD_GetPixel(U16 x, U16 y) 
- 函數說明 : 得到點值的函數
- 輸入參數 : x,y
- 輸出參數 : colof
*************************************************************************************************************
*/	
U32 LCD_GetPixel(U16 x, U16 y) 
{
	return GETPIXEL(x,y);
}

/*
*************************************************************************************************************
- 函數名稱 : void LCD_DrawHLine  (U16 x0, U16 y,  U16 x1) 
- 函數說明 : 畫水平線函數
- 輸入參數 : x,y,x1
- 輸出參數 : 無
*************************************************************************************************************
*/
void LCD_DrawHLine  (U16 x0, U16 y0,  U16 x1) 
{
    while (x0 <= x1) 
    {
     	SETPIXEL(x0, y0, LCD_COLOR);
     	x0++;
    }
}

/*
*************************************************************************************************************
- 函數名稱 : void LCD_DrawVLine  (U16 x, U16 y0,  U16 y1) 
- 函數說明 : 畫豎直線函數
- 輸入參數 : x,y,x1
- 輸出參數 : 無
*************************************************************************************************************
*/
void LCD_DrawVLine(U16 x0, U16 y0,  U16 y1) 
{
	while (y0 <= y1) 
 	{
		SETPIXEL(x0, y0, LCD_COLOR);
 		y0++;
 	}
}

/*
*************************************************************************************************************
- 函數名稱 : void LCD_FillRect(U16 x0, U16 y0, U16 x1, U16 y1)
- 函數說明 : 填充矩形函數
- 輸入參數 : x0,y0,x1,y1
- 輸出參數 : 無
*************************************************************************************************************
*/
void LCD_FillRect(U16 x0, U16 y0, U16 x1, U16 y1) 
{
	for (; y0 <= y1; y0++) 
	{
		 LCD_DrawHLine(x0,y0, x1);
	}
}

/*
*************************************************************************************************************
- 函數名稱 : DrawBitLine1BPP
- 函數說明 : 繪制位圖函數
- 輸入參數 : x0,y0,x1,y1
- 輸出參數 : 無
*************************************************************************************************************
*/	
static void  DrawBitLine1BPP(U16 x, U16 y, U8 const*p, U16 Diff, U16 xsize, const U16*pTrans) 
{
  	U16 pixels;
  	U32 Index0 = *(pTrans + 0);
  	U32 Index1 = LCD_COLOR;

  	pixels = *p;
  	
   	switch (Diff&7) 
    {
    	case 0:   
     		goto WriteBit0;
    	case 1:   
      		goto WriteBit1;
    	case 2:
      		goto WriteBit2;
    	case 3:
      		goto WriteBit3;
    	case 4:
     		goto WriteBit4;
    	case 5:   
     		goto WriteBit5;
    	case 6:   
     		goto WriteBit6;
    	case 7:   
     		goto WriteBit7;
    }

  WriteBit0:
    SETPIXEL(x+0, y, (pixels&(1<<7)) ? Index1 : Index0);
    if (!--xsize)
      return;
  WriteBit1:
    SETPIXEL(x+1, y, (pixels&(1<<6)) ? Index1 : Index0);
    if (!--xsize)
      return;
  WriteBit2:
    SETPIXEL(x+2, y, (pixels&(1<<5)) ? Index1 : Index0);
    if (!--xsize)
      return;
  WriteBit3:
    SETPIXEL(x+3, y, (pixels&(1<<4)) ? Index1 : Index0);
    if (!--xsize)
      return;
  WriteBit4:
    SETPIXEL(x+4, y, (pixels&(1<<3)) ? Index1 : Index0);
    if (!--xsize)
      return;
  WriteBit5:
    SETPIXEL(x+5, y, (pixels&(1<<2)) ? Index1 : Index0);
    if (!--xsize)
      return;
  WriteBit6:
    SETPIXEL(x+6, y, (pixels&(1<<1)) ? Index1 : Index0);
    if (!--xsize)
      return;
  WriteBit7:
    SETPIXEL(x+7, y, (pixels&(1<<0)) ? Index1 : Index0);
    if (!--xsize)
      return;
    x+=8;
    pixels = *(++p);
    goto WriteBit0;

}

/*
*************************************************************************************************************
- 函數名稱 : LCD_L0_DrawBitmap
- 函數說明 : 繪制位圖函數
- 輸入參數 : 
- 輸出參數 : 無
*************************************************************************************************************
*/
void LCD_L0_DrawBitmap(U16 x0, U16 y0,U16 xsize, U16 ysize,U16 BitsPerPixel,U16 BytesPerLine,
							const U8* pData, U16 Diff,
                       		const U16* pTrans)
{
  	U16 i;

  	switch (BitsPerPixel) 
  	{
  		case 1:
    
      		for (i=0; i<ysize; i++) 
      		{
        		DrawBitLine1BPP(x0, i+y0, pData, Diff, xsize, pTrans);
        		pData += BytesPerLine;
      		}
       		break;
  	}
}
/*
*****************************************************************************************************************
**                                                  結束文件                                                   **
*****************************************************************************************************************
*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人在线视频网站| 奇米影视在线99精品| 成人国产视频在线观看| 日本一区二区高清| 99久久99久久综合| 亚洲裸体在线观看| 欧美亚洲动漫另类| 免费观看久久久4p| 久久久精品国产99久久精品芒果| 国产激情91久久精品导航| **性色生活片久久毛片| 欧美疯狂做受xxxx富婆| 激情六月婷婷综合| 亚洲欧美在线另类| 69久久99精品久久久久婷婷| 精品亚洲成a人| 成人免费一区二区三区在线观看| 欧美综合欧美视频| 久久国产福利国产秒拍| 国产精品热久久久久夜色精品三区| 91福利社在线观看| 寂寞少妇一区二区三区| 国产精品九色蝌蚪自拍| 91精品国产91久久综合桃花| 福利91精品一区二区三区| 亚洲综合区在线| 欧美精品一区二区三| 91原创在线视频| 免费成人在线播放| 日韩久久一区二区| 日韩一级片网址| 91麻豆精品一区二区三区| 日韩av午夜在线观看| 中文字幕在线不卡国产视频| 欧美日本乱大交xxxxx| 成人福利视频网站| 美女网站色91| 樱花影视一区二区| 国产婷婷一区二区| 欧美男男青年gay1069videost| 国产成人福利片| 青青草97国产精品免费观看无弹窗版 | 国产一区激情在线| 一区二区三区四区乱视频| 精品国产一区二区国模嫣然| 在线观看国产91| 国产成人在线视频免费播放| 天堂一区二区在线| 国产精品初高中害羞小美女文| 精品久久人人做人人爰| 在线观看成人免费视频| 成人性色生活片| 黄色精品一二区| 日韩精品一区第一页| 樱桃国产成人精品视频| 国产精品超碰97尤物18| 国产三级精品三级| 久久综合九色综合欧美98| 欧美精品777| 欧美视频一区二区三区四区| 91在线观看成人| 白白色 亚洲乱淫| 经典一区二区三区| 经典三级在线一区| 久久 天天综合| 久久爱www久久做| 麻豆精品一区二区综合av| 日本视频一区二区| 日韩不卡免费视频| 五月婷婷色综合| 天天综合网 天天综合色| 亚洲天堂成人在线观看| 国产精品另类一区| 国产精品久久久久9999吃药| 国产精品视频一二三区| 国产精品理论片在线观看| 国产精品成人一区二区三区夜夜夜| 国产欧美精品一区二区三区四区| 日韩精品自拍偷拍| 91精品欧美久久久久久动漫| 制服丝袜亚洲网站| 欧美电影免费提供在线观看| 欧美大片国产精品| 久久久不卡网国产精品二区| 国产亚洲精品bt天堂精选| 久久久久99精品国产片| 久久中文娱乐网| 日本一区二区视频在线| 亚洲桃色在线一区| 亚洲国产日韩一级| 免费成人小视频| 国产精品一区在线| av电影在线观看一区| 色94色欧美sute亚洲线路一ni| 欧美日韩一区二区三区高清| 欧美日韩国产首页| 欧美电影一区二区| 久久婷婷综合激情| 一区免费观看视频| 亚洲一区二区中文在线| 麻豆成人久久精品二区三区红| 国产在线精品一区二区夜色 | 国产精品久久久久久一区二区三区 | 欧美精品一区男女天堂| 国产精品久久久久aaaa| 亚洲成av人片在线观看无码| 久久国产精品免费| 成人国产在线观看| 在线播放/欧美激情| 久久久国际精品| 亚洲一区二区视频在线观看| 日本不卡一区二区三区| 国产.精品.日韩.另类.中文.在线.播放| 99这里都是精品| 欧美一区二区视频在线观看| 国产婷婷色一区二区三区在线| 亚洲黄色免费电影| 狠狠色狠狠色合久久伊人| 色伊人久久综合中文字幕| 日韩一区二区三区三四区视频在线观看 | 久久草av在线| 91美女在线观看| 欧美成人一区二区三区片免费| 亚洲欧美偷拍三级| 精品一区二区三区在线观看| 色国产精品一区在线观看| 精品国产一区二区三区忘忧草| 亚洲日本青草视频在线怡红院 | 亚洲亚洲精品在线观看| 精品一区二区成人精品| 欧美午夜理伦三级在线观看| 久久精品在线观看| 人人爽香蕉精品| 91精彩视频在线观看| 久久夜色精品国产噜噜av | 亚洲欧美欧美一区二区三区| 韩国女主播成人在线| 欧美午夜精品久久久久久超碰| 国产亚洲欧美在线| 日韩精品乱码av一区二区| 99久久er热在这里只有精品15| 久久青草欧美一区二区三区| 免费观看在线色综合| 欧美三级蜜桃2在线观看| 国产精品免费aⅴ片在线观看| 捆绑紧缚一区二区三区视频| 欧美性xxxxx极品少妇| 亚洲色图欧洲色图婷婷| 国产精品99久久久久| 日韩精品一区二区三区三区免费| 亚洲一区二区三区四区五区中文| 成人国产电影网| 欧美高清一级片在线观看| 国产在线看一区| 欧美精品一区视频| 久久成人久久爱| 日韩一区二区三区三四区视频在线观看| 亚洲欧美日韩精品久久久久| av一区二区三区四区| 国产精品激情偷乱一区二区∴| 国产呦萝稀缺另类资源| 精品国产伦一区二区三区免费| 日本中文一区二区三区| 91精品久久久久久久91蜜桃| 日韩制服丝袜av| 欧美电影一区二区| 免费观看一级特黄欧美大片| 日韩一级片在线观看| 精品一区二区精品| 国产日产精品一区| 国产福利一区二区三区视频| 欧美国产视频在线| 99国产精品久久久久久久久久 | 在线国产电影不卡| 一区二区三区欧美久久| 欧美在线视频你懂得| 亚洲不卡av一区二区三区| 欧美日韩精品一区二区天天拍小说 | 在线播放一区二区三区| 日本免费新一区视频| 日韩精品专区在线影院重磅| 久久99精品视频| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 亚洲精品高清在线观看| 视频在线在亚洲| 夫妻av一区二区| 欧洲一区在线电影| 国产aⅴ综合色| 成人av在线影院| 欧美日韩成人综合| 久久综合五月天婷婷伊人| 国产亚洲精品bt天堂精选| 亚洲精品欧美激情| 另类小说色综合网站| 大白屁股一区二区视频| 国产午夜精品在线观看| 久久不见久久见免费视频7| 亚洲精品美国一| 国产片一区二区| 日韩一区二区三区视频在线|