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

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

?? armint.c

?? 增加串口,主要是wince方面的
?? C
?? 第 1 頁 / 共 2 頁
字號:
		if ( submask & (1 << 18)) // EINT28 : SDMMC_CARD_DETECT
		{
			s2410IOP->rEINTMASK |= (1 << 18);
			s2410IOP->rEINTPEND  = (1 << 18);
			s2410INT->rSRCPND  = BIT_EINT8_23;
			if (s2410INT->rINTPND & BIT_EINT8_23) s2410INT->rINTPND = BIT_EINT8_23;

			//RETAILMSG(1, (TEXT("ARMINT.C - SYSINTR_SDMMC_CARD_DETECT\r\n")));			
			return SYSINTR_SDMMC_CARD_DETECT;
		}
		else if ( submask & (1 << 9))	// 0x200 EINT9 : CS8900
		{
			s2410IOP->rEINTMASK |= 0x200;
			s2410IOP->rEINTPEND = 0x200;

			s2410INT->rSRCPND = BIT_EINT8_23;        
			if (s2410INT->rINTPND & BIT_EINT8_23) s2410INT->rINTPND = BIT_EINT8_23;

			//RETAILMSG(1, (TEXT("INT:SYSINTR_ETHER INT\r\n")));
			return SYSINTR_ETHER;
		}
		else if (submask & (1 << 8))	// 0x100 EINT8 : PCMCIA_LEVEL
		{
			s2410IOP->rEINTMASK |= 0x100;
			s2410IOP->rEINTPEND = 0x100;

			s2410INT->rSRCPND = BIT_EINT8_23;        
			if (s2410INT->rINTPND & BIT_EINT8_23) s2410INT->rINTPND = BIT_EINT8_23;

			//RETAILMSG(1, (TEXT("INT:SYSINTR_PCMCIA_LEVEL INT\r\n")));
			return SYSINTR_PCMCIA_LEVEL;
		}
		else
		{
			s2410INT->rSRCPND = BIT_EINT8_23;        
			if (s2410INT->rINTPND & BIT_EINT8_23) s2410INT->rINTPND = BIT_EINT8_23;

			RETAILMSG(0, (TEXT("INT:???\r\n")));
			return SYSINTR_NOP;
		}					
	}

	else if (IntPendVal == INTSRC_ADC) // INTSRC_ADC
	{
        // Touch Panel Int
       	SubIntPendVal = s2410INT->rSUBSRCPND;
       	
       	if(SubIntPendVal & INTSUB_TC) 
		{
       		s2410INT->rINTSUBMSK |= INTSUB_TC;
       		s2410INT->rSUBSRCPND  = INTSUB_TC;
       	
            s2410INT->rINTMSK |= BIT_ADC;
   	        s2410INT->rSRCPND  = BIT_ADC;        
       	    if (s2410INT->rINTPND & BIT_ADC) s2410INT->rINTPND = BIT_ADC;
           
			if( (s2410ADC->rADCDAT0 & 0x8000) || (s2410ADC->rADCDAT1 & 0x8000) ){
				s2410INT->rINTMSK |= BIT_TIMER1;     // Mask timer1 interrupt.
		   		s2410INT->rSRCPND = BIT_TIMER1;     // Clear pending bit
   				if (s2410INT->rINTPND & BIT_TIMER1) s2410INT->rINTPND = BIT_TIMER1;
				//RETAILMSG(0,(TEXT("INT Touch pen up \r\n")));

      	        odo_tsb->status = TOUCH_PEN_UP;
      		}
			else {
				//RETAILMSG(0,(TEXT("INT Touch pen down \r\n")));
   	            odo_tsb->status = TOUCH_PEN_DOWN;
			}
       
	        return SYSINTR_TOUCH_CHANGED;
		}
       	else if(SubIntPendVal & INTSUB_ADC)
		{
       		s2410INT->rINTSUBMSK |= INTSUB_ADC;
       		s2410INT->rSUBSRCPND = INTSUB_ADC;

	        s2410INT->rINTMSK |= BIT_ADC;
   		    s2410INT->rSRCPND = BIT_ADC;        
       		if (s2410INT->rINTPND & BIT_ADC) s2410INT->rINTPND = BIT_ADC;
            	
        	s2410INT->rINTMSK &= ~BIT_ADC;

           	return SYSINTR_NOP;
       	}
       	else
       		return SYSINTR_NOP;
	}

	else if (IntPendVal == INTSRC_TIMER1) // INTSRC_TIMER1
	{
       // Timer 1 interrupt to get touch point
      	s2410INT->rINTMSK |= BIT_TIMER1;
       	s2410INT->rSRCPND = BIT_TIMER1;
  	    if (s2410INT->rINTPND & BIT_TIMER1) s2410INT->rINTPND = BIT_TIMER1;

		// charlie, 020620
		if( (s2410ADC->rADCDAT0 & 0x8000) || (s2410ADC->rADCDAT1 & 0x8000) ){
			//RETAILMSG(0,(TEXT("INT Touch SYSINTR_TOUCH_CHANGED 1\r\n")));
			odo_tsb->status = TOUCH_PEN_UP;
			return SYSINTR_TOUCH_CHANGED;
		}

        if(odo_tsb->status == TOUCH_PEN_UP) 
		{
			//RETAILMSG(0,(TEXT("INT Touch SYSINTR_TOUCH_CHANGED 2 \r\n")));
			odo_tsb->status = TOUCH_PEN_UP;
			return SYSINTR_TOUCH_CHANGED;
		}
        else 
		{
			unsigned int TmpTCON;

        	odo_tsb->status = TOUCH_PEN_SAMPLE;
			TmpTCON = s2410PWM->rTCON;	// get TCON value to temp TCON register
			TmpTCON &= ~0xf00;     		// clear fields of Timer 1 
			TmpTCON |= 0x200;     		// interval mode(auto reload), update TCVNTB4, stop 
			s2410PWM->rTCON = TmpTCON;	// put the value to TCON register

			TmpTCON = s2410PWM->rTCON;	// get TCON value to temp TCON register
			TmpTCON &= ~0xf00;     		// clear fields of Timer 1 
			TmpTCON |= 0x100;     		// interval mode, no operation, start for Timer 4 
			s2410PWM->rTCON = TmpTCON;	// put the value to TCON register

			//RETAILMSG(0,(TEXT("INT Touch SYSINTR_TOUCH\r\n")));
	
        	return SYSINTR_TOUCH;
		}
	}

	else if (IntPendVal == INTSRC_EINT0)  { // POWER BUTTON
		s2410INT->rINTMSK |= BIT_EINT0;
		s2410INT->rSRCPND  = BIT_EINT0;	/* Interrupt Clear				*/
		if (s2410INT->rINTPND & BIT_EINT0) s2410INT->rINTPND  = BIT_EINT0;

		return(SYSINTR_POWER);	
	}

	else if(IntPendVal == INTSRC_DMA1) // AUDIO DMA input.
	{  
		s2410INT->rINTMSK |= BIT_DMA1;
		s2410INT->rSRCPND  = BIT_DMA1;
		if (s2410INT->rINTPND & BIT_DMA1) s2410INT->rINTPND  = BIT_DMA1;

		return(SYSINTR_AUDIO);
	}
	else if(IntPendVal == INTSRC_DMA2) // AUDIO DMA output.
	{  
		s2410INT->rINTMSK |= BIT_DMA2;
		s2410INT->rSRCPND  = BIT_DMA2;
		if (s2410INT->rINTPND & BIT_DMA2) s2410INT->rINTPND  = BIT_DMA2;

		return(SYSINTR_AUDIO);
	}

	else if(IntPendVal == INTSRC_USBH) 	// USB.
	{
		s2410INT->rINTMSK |= BIT_USBH;
		s2410INT->rSRCPND  = BIT_USBH;        
		if (s2410INT->rINTPND & BIT_USBH) s2410INT->rINTPND  = BIT_USBH;
		//RETAILMSG(1, (TEXT("INT:SYSINTR_USB INT\r\n")));
		return(SYSINTR_USB);     
	} 

	else if (IntPendVal == INTSRC_DMA3)
	{
		s2410INT->rINTMSK |= BIT_USBD; // USBD interrupt should be masked
		//s2410INT->rINTMSK |= BIT_DMA3;
		s2410INT->rSRCPND = BIT_DMA3;
		if (s2410INT->rINTPND & BIT_DMA3) s2410INT->rINTPND = BIT_DMA3;
		usbdShMem->usbdDma3Int=1;
		return SYSINTR_USBD;  
		//Correct. DMA3 interrupt will be connected to USBD interrupt.
		//break;
	}

	else if(IntPendVal == INTSRC_USBD) 
	{
		s2410INT->rINTMSK |= BIT_USBD;
		UsbdClearEir();	 //:-)
		s2410INT->rSRCPND = BIT_USBD;
		if (s2410INT->rINTPND & BIT_USBD) s2410INT->rINTPND = BIT_USBD;
		//RETAILMSG(1,(TEXT("INT_USBD\r\n")));
		return SYSINTR_USBD;
    }

	else if(IntPendVal == INTSRC_UART0)	// SERIAL (UART0) (physical COM1: P1 connector).
	{  
		SubIntPendVal = s2410INT->rSUBSRCPND;

		// Note that we only mask the sub source interrupt - the serial driver will clear the
		// sub source pending register.
		//
		if(SubIntPendVal & INTSUB_ERR0) 
		{
			s2410INT->rINTSUBMSK |= INTSUB_ERR0;
		}
		else if(SubIntPendVal & INTSUB_RXD0) 
		{
			s2410INT->rINTSUBMSK |= INTSUB_RXD0;
		}
		else if(SubIntPendVal & INTSUB_TXD0) 
		{
			s2410INT->rINTSUBMSK |= INTSUB_TXD0;
		}
		else
		{
			return(SYSINTR_NOP);
		}
	
		// NOTE: Don't clear INTSRC:UART0 here - serial driver does that.
		//
		s2410INT->rINTMSK |= BIT_UART0;
		if (s2410INT->rINTPND & BIT_UART0) s2410INT->rINTPND  = BIT_UART0;

		return(SYSINTR_SERIAL);
	}

	else if(IntPendVal == INTSRC_UART1)	// SERIAL (UART1) (physical COM2: P2 connector).
	{  
		SubIntPendVal = s2410INT->rSUBSRCPND;

		// Note that we only mask the sub source interrupt - the serial driver will clear the
		// sub source pending register.
		//
		if(SubIntPendVal & INTSUB_ERR1) 
		{
			s2410INT->rINTSUBMSK |= INTSUB_ERR1;
		}
		else if(SubIntPendVal & INTSUB_RXD1) 
		{
			s2410INT->rINTSUBMSK |= INTSUB_RXD1;
		}
		else if(SubIntPendVal & INTSUB_TXD1) 
		{
			s2410INT->rINTSUBMSK |= INTSUB_TXD1;
		}
		else
		{
			return(SYSINTR_NOP);
		}
	
		// NOTE: Don't clear INTSRC:UART0 here - serial driver does that.
		//
		s2410INT->rINTMSK |= BIT_UART1;
		if (s2410INT->rINTPND & BIT_UART1) s2410INT->rINTPND  = BIT_UART1;

		return(SYSINTR_SERIAL2);
	}

	else if(IntPendVal == INTSRC_UART2)	// IrDA (UART2)
	{
		SubIntPendVal = s2410INT->rSUBSRCPND;

		if(SubIntPendVal & INTSUB_ERR2) 
		{
			s2410INT->rINTSUBMSK |= INTSUB_ERR2;
		}       
		else if(SubIntPendVal & INTSUB_RXD2) 
		{
			s2410INT->rINTSUBMSK |= INTSUB_RXD2;
		}       
		else if(SubIntPendVal & INTSUB_TXD2) 
		{
			s2410INT->rINTSUBMSK |= INTSUB_TXD2;
		}       
		else
		{
			return(SYSINTR_NOP);
		}

		// NOTE: Don't clear INTSRC:UART2 here - serial driver does that.
		//
		s2410INT->rINTMSK |= BIT_UART2;
		if (s2410INT->rINTPND & BIT_UART2) s2410INT->rINTPND  = BIT_UART2;
		
		return(SYSINTR_SERIAL3);
	}

	else if (IntPendVal == INTSRC_RTC)
	{
		s2410INT->rSRCPND  = BIT_RTC; 	/* Interrupt Clear 				*/
		if (s2410INT->rINTPND & BIT_RTC) s2410INT->rINTPND  = BIT_RTC;
		s2410INT->rINTMSK  |= BIT_RTC;	/* Alarm Interrupt Disable 		*/

		return (SYSINTR_RTC_ALARM);
	}
	
	return(SYSINTR_NOP);
}

void UsbdClearEir(void)
{
	static volatile struct udcreg *s2410USBD = (volatile struct udcreg *)(0xB1200140);
	
	usbdShMem->usbdEir|=*(volatile BYTE *)&s2410USBD->EIR;
	usbdShMem->usbdUir|=*(volatile BYTE *)&s2410USBD->UIR;
	*(volatile BYTE *)&s2410USBD->EIR=usbdShMem->usbdEir;
	*(volatile BYTE *)&s2410USBD->UIR=usbdShMem->usbdUir;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产不卡高清在线观看视频| 亚洲黄色小说网站| 久久超碰97中文字幕| 欧美xxxxx牲另类人与| 国产美女一区二区三区| 国产欧美一区二区在线| 成人免费观看av| 亚洲嫩草精品久久| 欧美久久婷婷综合色| 日韩成人免费电影| 久久久精品黄色| 一本色道久久综合狠狠躁的推荐 | 国产午夜精品一区二区| 成人免费视频网站在线观看| 亚洲男人的天堂在线aⅴ视频| 欧美性感一类影片在线播放| 天天色综合成人网| 国产日产欧产精品推荐色| 色综合久久久久综合99| 日韩和欧美的一区| 欧美国产精品中文字幕| 欧美日韩一区二区三区四区| 蜜桃av一区二区在线观看| 国产精品乱人伦| 欧美人体做爰大胆视频| 国产69精品久久久久毛片| 亚洲国产精品影院| 精品国产精品一区二区夜夜嗨| 99re这里只有精品首页| 蜜臀a∨国产成人精品| 国产精品久久久久久福利一牛影视| 欧美亚洲国产一区二区三区| 91免费精品国自产拍在线不卡| 亚洲成人精品在线观看| 国产欧美日韩麻豆91| 欧美久久高跟鞋激| 成人av资源网站| 日韩国产精品大片| 亚洲视频中文字幕| 欧美成人video| 欧美三级资源在线| 99热99精品| 国产精品一二三在| 午夜电影网亚洲视频| 亚洲日本va在线观看| 久久伊99综合婷婷久久伊| 欧美三区免费完整视频在线观看| 国产成人精品一区二区三区四区| 日韩中文字幕不卡| 亚洲美女精品一区| 国产偷国产偷精品高清尤物| 日韩三级电影网址| 欧美区在线观看| 91黄色小视频| 成人毛片老司机大片| 国产精品中文欧美| 久久草av在线| 日本亚洲一区二区| 性欧美疯狂xxxxbbbb| 亚洲精品免费在线播放| 国产精品每日更新在线播放网址| 精品区一区二区| 欧美一区二区视频在线观看| 欧美性生活大片视频| 在线看日本不卡| 色综合久久久久综合体桃花网| 成人免费视频播放| 成人看片黄a免费看在线| 国产成人亚洲精品狼色在线| 国产一区二区91| 91免费在线看| 99热99精品| 97久久久精品综合88久久| av网站免费线看精品| www..com久久爱| 色综合天天天天做夜夜夜夜做| 成人精品小蝌蚪| av在线不卡电影| 一本大道av伊人久久综合| 91蜜桃传媒精品久久久一区二区| 91在线免费播放| 在线免费观看不卡av| 欧美三级韩国三级日本一级| 欧美群妇大交群中文字幕| 91精品国产91综合久久蜜臀| 日韩美女在线视频| 国产亚洲欧美激情| 国产精品狼人久久影院观看方式| 亚洲色图.com| 亚洲成人免费观看| 美脚の诱脚舐め脚责91| 国产精品一区在线| 成人成人成人在线视频| 91久久精品国产91性色tv| 欧美亚男人的天堂| 91精品国产麻豆国产自产在线| 亚洲精品在线免费播放| 中国av一区二区三区| 亚洲综合色在线| 六月丁香婷婷久久| 成年人午夜久久久| 欧美视频一区二区三区| 精品国偷自产国产一区| 中文av字幕一区| 亚洲福利国产精品| 久久精品国产亚洲a| caoporn国产精品| 欧美日韩黄视频| 久久品道一品道久久精品| 亚洲美女视频在线观看| 蜜臀av性久久久久蜜臀aⅴ流畅| 成人一道本在线| 欧美女孩性生活视频| 久久精品夜色噜噜亚洲a∨| 亚洲精品成人天堂一二三| 蜜臀a∨国产成人精品| 成人动漫中文字幕| 69久久99精品久久久久婷婷| 国产精品欧美久久久久无广告| 亚洲成人av一区| 不卡的电影网站| 日韩欧美成人一区二区| 亚洲视频在线一区观看| 精品亚洲免费视频| 欧美亚洲精品一区| 国产日产欧产精品推荐色| 五月天激情综合网| 成人夜色视频网站在线观看| 91精品国产色综合久久不卡蜜臀| 国产精品美女久久福利网站| 久久成人18免费观看| 色综合久久久久| 国产亚洲一本大道中文在线| 日本欧美一区二区| 日本久久一区二区| 中文字幕不卡一区| 美女在线观看视频一区二区| 欧美在线观看你懂的| 国产精品久久毛片a| 国产麻豆精品在线| 欧美一区午夜视频在线观看| 洋洋av久久久久久久一区| 成人黄色777网| 久久影视一区二区| 成人av电影观看| 26uuu色噜噜精品一区| 天堂一区二区在线免费观看| 色综合久久天天综合网| 中文字幕欧美一| 国产成人av一区二区三区在线| 欧美一级在线观看| 日韩在线一区二区三区| 欧美综合一区二区三区| 亚洲激情综合网| 色婷婷综合久久久中文一区二区| 国产精品欧美一级免费| 成人免费毛片aaaaa**| 欧美激情自拍偷拍| 国产成人av网站| 国产日韩欧美电影| 国产成人av自拍| 日本一区二区三区视频视频| 国模冰冰炮一区二区| 精品免费国产一区二区三区四区| 青青草视频一区| 欧美一区二区免费视频| 美女爽到高潮91| 欧美成人精品3d动漫h| 激情欧美一区二区三区在线观看| 精品美女在线观看| 国产在线视视频有精品| 国产视频在线观看一区二区三区| 国产一区视频导航| 久久女同精品一区二区| 国产99久久久久久免费看农村| 国产婷婷色一区二区三区在线| 丁香亚洲综合激情啪啪综合| 国产精品女主播av| 色婷婷综合激情| 婷婷久久综合九色国产成人| 91精品国产综合久久精品图片 | 国产在线视视频有精品| 日本欧美韩国一区三区| 欧美一卡二卡三卡| 精品一区二区三区视频| 国产日韩欧美精品在线| 99免费精品在线观看| 亚洲成人精品影院| 欧美v亚洲v综合ⅴ国产v| 国产麻豆成人传媒免费观看| 国产精品免费视频一区| 91久久精品网| 久久国产精品第一页| 国产精品久久久久天堂| 在线观看网站黄不卡| 蜜桃av一区二区在线观看| 欧美—级在线免费片| 欧美性生活影院| 韩国av一区二区三区四区 | 成人欧美一区二区三区在线播放|