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

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

?? ambakbd.c

?? at91rm9200 bsp at91rm9200 bsp
?? C
?? 第 1 頁 / 共 2 頁
字號:
            kbdLedSet ();            break;        default:            status = tyIoctl (&pKbdDv->tyDev, request, arg);            break;        }    return (status);    }/********************************************************************************* kbdWriteData - write data to device** This routine the write function from the I/O subsystem.** RETURNS: */LOCAL int kbdWriteData     (    KBD_DEVICE *    pKbdDv    /* device to control */    )    {        return (0);    }/********************************************************************************* kbdHwInit - initialize the Keyboard* * This routine is called to do the keyboard initialization from an external* routine** RETURNS: N/A** NOMANUAL*/LOCAL void kbdHwInit (void)    {    UCHAR   stat;	    pKbdDevice->kbdFlags = NUM; /* Numeric mode on */    stat = (UCHAR) (pKbdDevice->kbdFlags & 0x07);	*AT91C_PIOB_PER = KBD_CLK | KBD_DATA;	*AT91C_PIOB_PPUDR = KBD_CLK | KBD_DATA;/*	100K Pullup reg disable */	intDisable(AT91C_INT_LVL_PIOB);	*AT91C_PIOB_IDR = 0xffffffff;	/*intConnect ((VOIDFUNCPTR *)INUM_TO_IVEC (AT91C_INT_LVL_PIOB),clkFall ,0); 	*AT91C_AIC_SMR3 =  AT91C_AIC_SRCTYPE_INT_EDGE_TRIGGERED + 2;*/	#if 1	at91cKBWrite(0xED);/*Set/Reset Status Indicators	*/	taskDelay(10);	at91cKBWrite(0x00);/*Turn off all LEDs */	taskDelay(10);	at91cKBWrite(0xF2);/*Read ID	*/	taskDelay(10);	at91cKBWrite(0xED);/*Set/Reset Status Indicators	*/	taskDelay(10);	at91cKBWrite(0x2);/*Turn on Num Lock LED	0x02*/	taskDelay(10);		at91cKBWrite(0x2);/*Turn on Num Lock LED	0x02*/	taskDelay(20);	at91cKBWrite(0xf4);/*Enable	*/	taskDelay(30);	printf("finish \n ");#endif#if 0	at91cKBWrite(0xED);/*Set/Reset Status Indicators	*/	taskDelay(30);	at91cKBWrite(0x00);/*Turn off all LEDs */	taskDelay(30);	at91cKBWrite(0xF2);/*Read ID	*/	taskDelay(30);	at91cKBWrite(0xED);/*Set/Reset Status Indicators	*/	printf("turn on \n");	taskDelay(30);	at91cKBWrite(stat);/*Turn on Num Lock LED	0x02*/	taskDelay(30);	at91cKBWrite(0xf4);/*Enable	*/	taskDelay(60);	printf("finish \n ");#endif	    if (oldLedStat == stat)        return;    oldLedStat = stat;    } /********************************************************************************* kbdIntr - interrupt level processing** This routine handles the keyboard interrupts** RETURNS: N/A** NOMANUAL*/void at91ckbdIntr (void)    {	UINT16 data;  	int oldMask;#if 0logMsg("kbd int\n",1,2,3,4,5,6);#endif	oldMask = intLock();		#if 1		if((KBD_CLK_READ == 0)&&(kbdLab != 0))	/*fall-readbyte */		{			data = KBD_DATA_READ;			switch(kbdLab)			{				case 1:			/*ack*/				if(data==0)				{					kbdLab = 2;				}				break;				case 2:			/*after ack*/				switch(kbdBitCnt)				{					case 0:					kbdParity = 0;		/*for odd parity*/					scanCode = 0;					if(data == 0)		/*start bit*/						kbdBitCnt++;					else					{						intUnlock(oldMask);						return;					}					break;					case 1:					case 2:					case 3:					case 4:					case 5:					case 6:					case 7:					case 8:/*in_char*/							kbdBitCnt++;					scanCode |= data<< (kbdBitCnt -2);					kbdParity += data;					break;					case 9:					kbdBitCnt++;					kbdParity += data;					if((kbdParity & 1) == 0)	/*parity bit wrong*/					{						kbdBitCnt=0; 					}					break;					case 10:		/*stop bit*/					kbdBitCnt =0;					if(data!= 0)					{						logMsg("K-%02x\n",scanCode,2,3,4,5,6);								/* keyboard acknowledge to any valid input, so just return */					        if (scanCode != 0xfa) 				              {						        tyIRd (&(pKbdDevice->tyDev), scanCode);					        }					}					break;					default:					kbdBitCnt=0;					break;				}				break;				default:				break;			}		}#if 0		else if(kbdLab==0)		{			kbdBitCnt2++;			if(kbdBitCnt2<=8)	/*scanCode 1-8*/			{					KBD_DATA_WRITE(kbdByte2&1);					kbdParity2 += kbdByte2;					kbdByte2 = kbdByte2 >>1;			}						else if(kbdBitCnt2 == 9)/*parity	*/			{					KBD_DATA_WRITE(kbdParity2 & 1);			}			else if(kbdBitCnt2 == 10)/*stop */			{					KBD_DATA_WRITE(1);									kbdLab = 1;					kbdBitCnt2 = 0;					KBD_DATA_INPUT;/*data release ,data as input*/			}		}#endif		#endif	intUnlock(oldMask);    }/******************************************************************************** kbdLedSet - Keybord LED Set** This routine Keyboad LED control on kbdConDv.kbdFlags numeric, caps and* stps** RETURNS: N/A*/LOCAL void kbdLedSet (void)    {    UCHAR   stat = 0;    /* bits 0 1 2 for scroll numlock & capslock */    stat = (UCHAR) (pKbdDevice->kbdFlags & 0x07);    if (oldLedStat == stat)        return;    oldLedStat = stat;    	at91cKBWrite(0xED);/*Set/Reset Status Indicators	*/	taskDelay(10);	at91cKBWrite(stat);		    }LOCAL void kbdWaitForCLK(int value)/*0,1		wait about 40us	*/{  int i=0;  while ((KBD_CLK_READ != value) && (i++<2000));/* Wait for clk */}LOCAL void kbdWriteBit(UCHAR b)	/*rise edge*/{	kbdWaitForCLK(0);	KBD_DATA_WRITE(b);	kbdWaitForCLK(1);}/******************************************************************************** ambaKBWrite - write data to the keyboard.** Write data to the keyboard.** RETURNS: OK or ERROR if timed out*/STATUS at91cKBWrite    (    UCHAR value    )    {  int i=0;  UCHAR p=1;  KBD_INT_DISABLE;/*此處最好添加相應是否有數據收程序*/	KBD_CLK_OUTPUT;		/*clk,data as output*/	KBD_DATA_OUTPUT; 	KBD_CLK_WRITE(0);/*clk=0*/	KBD_DATA_WRITE(0);/*start bit=0*/	taskDelay(1);/*wait > 100us*/	 KBD_CLK_INPUT;	  for(i=0;i<8;i++)	  {	  	kbdWriteBit(value & 1);	/*bit write*/		p = p + value;				value = value >> 1;	  }	  kbdWriteBit(p & 1);/*check*/	  kbdWriteBit(1);		/*stop bit =1*/	  KBD_DATA_INPUT;/*data release ,data as input*/	   kbdLab = 2;		/*表示直接接收數據*/	   kbdBitCnt = 0;    return OK;    }/******************************************************************************** kbdWdog - KBD driver watchdog handler.** KBD driver watchdog handler.** RETURNS: N/A*/LOCAL void kbdWdog    (    void    )    {    }/********************************************************************************* kbdDelay - pause* * This routine is called to introduce some delay** RETURNS: N/A** NOMANUAL*/LOCAL void kbdDelay(void)    {        taskDelay (sysClkRateGet () >> 3);    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合久久久久88| 自拍av一区二区三区| 中文字幕国产精品一区二区| 亚洲午夜在线视频| 国产精品亚洲人在线观看| 色哟哟一区二区| 久久青草国产手机看片福利盒子| 亚洲日本va午夜在线电影| 久久国产成人午夜av影院| 欧美性色综合网| 国产精品久久久久久久久久久免费看| 奇米一区二区三区| 在线观看一区二区视频| 国产精品网站在线播放| 激情综合网天天干| 欧美精品三级在线观看| 亚洲精选在线视频| www.欧美日韩| 欧美国产精品专区| 国产一区二区三区免费播放| 3751色影院一区二区三区| 一区二区三区四区不卡在线 | www国产精品av| 视频一区中文字幕国产| 欧美无人高清视频在线观看| 国产精品白丝在线| 成人v精品蜜桃久久一区| 久久精品亚洲乱码伦伦中文| 久久精品理论片| 日韩写真欧美这视频| 午夜精品123| 7777精品伊人久久久大香线蕉超级流畅 | 91国偷自产一区二区三区观看| 亚洲欧洲三级电影| 9l国产精品久久久久麻豆| 国产精品麻豆99久久久久久| k8久久久一区二区三区| 国产日韩欧美精品一区| 国产成人av在线影院| 国产日韩综合av| 成人污污视频在线观看| 亚洲国产成人私人影院tom| 国产91高潮流白浆在线麻豆| 欧美激情一区二区三区蜜桃视频| 国产不卡在线播放| 国产精品乱人伦一区二区| 91在线播放网址| 亚洲综合在线第一页| 欧美日韩国产a| 免费观看一级欧美片| 欧美精品一区在线观看| 国产成人精品www牛牛影视| 中文字幕成人av| 色婷婷综合久久| 日韩va亚洲va欧美va久久| 日韩情涩欧美日韩视频| 狠狠色综合日日| 中文字幕一区二区三区色视频| 色婷婷av一区二区三区gif| 亚洲成年人影院| 精品黑人一区二区三区久久| 成人动漫av在线| 日韩国产精品久久久| 久久久久久久av麻豆果冻| 99热精品一区二区| 亚洲国产一区二区视频| 精品日韩一区二区三区免费视频| 成人免费视频免费观看| 亚洲成人自拍偷拍| 国产精品免费视频一区| 欧美日本国产视频| 成人一级片网址| 视频一区视频二区中文| 国产精品理论片在线观看| 日韩三级.com| 91久久精品日日躁夜夜躁欧美| 久久精品国产亚洲aⅴ| 亚洲综合男人的天堂| 久久精品日产第一区二区三区高清版| 99国产精品久久久久久久久久| 日韩av电影天堂| 亚洲精品五月天| 久久精品人人做人人综合 | 亚洲国产一区在线观看| 日韩欧美国产1| 成人av网站大全| 午夜国产精品一区| 国产精品丝袜黑色高跟| 欧美精品在线视频| 国产福利一区二区三区| 亚瑟在线精品视频| 国产精品卡一卡二| 久久久精品国产免大香伊| 欧美撒尿777hd撒尿| 韩日精品视频一区| 亚洲午夜精品在线| 中文字幕精品在线不卡| 欧美一区二区视频观看视频 | 欧美在线视频全部完| 狠狠色丁香久久婷婷综合_中| 一区二区三区日韩欧美精品| 久久亚洲一级片| 欧美日韩五月天| 99久久精品免费观看| 美腿丝袜亚洲一区| 亚洲午夜影视影院在线观看| 一区二区三区在线免费观看| 国产欧美日韩另类一区| 日韩丝袜情趣美女图片| 欧美亚洲一区二区在线| 成人禁用看黄a在线| 麻豆91在线播放| 日韩国产欧美一区二区三区| 亚洲动漫第一页| 亚洲乱码国产乱码精品精小说| 久久午夜色播影院免费高清| 宅男噜噜噜66一区二区66| 色系网站成人免费| 欧美在线观看一区| 日本久久电影网| 99re热这里只有精品视频| 国产xxx精品视频大全| 国产综合久久久久影院| 亚洲一区在线视频| 日韩中文字幕av电影| 亚洲美女偷拍久久| 日韩毛片一二三区| 中文字幕制服丝袜一区二区三区| 中文字幕成人av| 精品乱人伦小说| 国产精品色呦呦| 国产精品久久久久aaaa樱花| 欧美激情一区二区三区四区| 国产亚洲精品超碰| 国产精品成人在线观看| 亚洲婷婷国产精品电影人久久| 国产精品久久久久久久裸模| 欧美国产激情一区二区三区蜜月| 欧美经典三级视频一区二区三区| 欧美激情在线一区二区| 中文字幕一区二| 亚洲综合激情另类小说区| 亚洲电影一级片| 免费高清在线一区| 国产九色精品成人porny| 懂色av一区二区夜夜嗨| eeuss鲁片一区二区三区在线看| 粉嫩av一区二区三区在线播放 | 1024成人网| 丝袜诱惑制服诱惑色一区在线观看 | 91成人在线精品| 精品国产一区二区亚洲人成毛片| 日韩精品在线一区| 中文无字幕一区二区三区| 亚洲欧洲一区二区三区| 五月激情六月综合| 日韩国产精品久久久| 99国产精品国产精品毛片| 欧美日韩在线播放一区| 欧美一级一区二区| 国产精品日韩成人| 亚洲国产成人porn| 日本va欧美va瓶| 福利一区二区在线| 欧美三级日韩三级国产三级| 久久夜色精品国产噜噜av| 亚洲美女偷拍久久| 日韩福利视频导航| 91丨porny丨户外露出| 日韩一级高清毛片| 自拍偷拍亚洲综合| 黑人巨大精品欧美一区| 在线中文字幕一区二区| 欧美国产日韩精品免费观看| 天天色综合成人网| 国产成人av一区二区三区在线| 在线视频中文字幕一区二区| ww亚洲ww在线观看国产| 亚洲专区一二三| 91麻豆.com| 欧美国产日本韩| 蜜臀国产一区二区三区在线播放 | 国产美女在线精品| 日韩一区二区免费在线电影| 亚洲视频狠狠干| 国产大陆亚洲精品国产| 欧美精品一二三区| 一区二区三区美女视频| 国产在线一区观看| 欧美妇女性影城| 亚洲色图第一区| 国产福利一区二区| 精品免费国产二区三区| 夜夜嗨av一区二区三区四季av| 99久久精品情趣| 国产精品美女久久久久aⅴ国产馆| 六月丁香婷婷色狠狠久久| 欧美丰满少妇xxxbbb| 亚洲一区二区三区国产| 欧美区在线观看|