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

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

?? irda.c

?? 三星s3c2460開發板完整功能測試代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
		*IrDA_CKBUFFER++=0;
	IrDA_CKBUFFER=(unsigned char *)MemoryCk;
	// Initialize Check Data -----------------END

	IrDA_RxCount = 0;
	IrDA_RxWrPnt = 0;
	IrDA_RxRdPnt = 0;

	rIrDA_CNT |=(1<<6);
	rIrDA_IER = (1<<7)|(1<<6)|(1<<3)|(1<<0);// LastByteToRx, Err Indication, RxOverRun, Rx Threshold
	rIrDA_CNF = (1); // Enable Interrupt

	printf("IrDA_FCR = %x\n", (char)rIrDA_FCR);

	i = 0;
	printf("\t");
	while(1)
	{
		if (IrDA_RxWrPnt > IrDA_RxRdPnt) {
			printf("[D:%3d] ",*(IrDA_RXBUFFER+IrDA_RxRdPnt));
			IrDA_RxRdPnt++;
			if(!((i+1)%64)) printf("\n");
			if(!((i+1)%8)) printf("\n\t");
			i++;
		}
		if (Uart_GetKey() == '\r') break;
	}
}

//==============================================================================
// IrDA Tx ISR
#if 0
void __irq Irda_Int_Tx()
{
	unsigned char status=0;
	unsigned char LeftOver = 0;
	unsigned char ToBeFilled = 0;
	unsigned int i =0;
	unsigned char size_FIFO = 0;
	
	// Mast interrupt Pending bit of IrDA
	rINTMSK    |= BIT_IrDA;	// Mask IrDA pending bit

	// Clear interrupt pending bit of IrDA
	ClearPending(BIT_IrDA);

	status = (unsigned char)rIrDA_IIR;			// Read IIR(Interrupt Identification Register) of IrDA
//	printf("IrDA IIR:0x%x\n", status);

	if(status & 0x2) // TX Trigger
	{
		//
		// BY DW-K :
		// Check How many bytes were left in the FIFO and determine how many bytes
		// were needed to be put into the FIFO.
		//
		LeftOver = rIrDA_TXNO;
		if(IrDA_FIFOSIZE==1) {	// 64 bytes sized fifo.		
			ToBeFilled = 63 - LeftOver;
			size_FIFO = 63;
		} else {				// 16 bytes sized fifo.
			ToBeFilled = 15 - LeftOver;
			size_FIFO = 15;
		}

//		printf("\tFIR>%d\n", ToBeFilled);

		while ((LeftOver < size_FIFO) && (IrDA_TxCnt < IrDA_TxNum)) { 
//		for (i=0;i<ToBeFilled;i++) {
			rIrDA_RBR = cData;
			*IrDA_CKBUFFER++ = cData++; // for debugging
			*IrDA_CKBUFFER1++ = rIrDA_TXNO; // for debugging
			IrDA_TxCnt++;
			LeftOver = rIrDA_TXNO;
		}

		if (IrDA_TxNum <= IrDA_TxCnt) {
			rIrDA_IER &= ~(1<<1);
			IrDA_TxDone = 0;
		}
	}
	else if(status & 0x20) // TX Trigger
	{
		printf("Tx Underrun error!! \n");
		IrDA_CKBUFFER  = (unsigned char *)MemoryCk; 
		IrDA_CKBUFFER1 = (unsigned char *)MemoryCk1;	
		for(i=0; i<IrDA_TxCnt ; i++)
			printf("[D:%3d, N:%3d] ", *IrDA_CKBUFFER++, *IrDA_CKBUFFER1++);
	}

	// Unmast interrupt Pending bit of IrDA
	rINTMSK    &= ~BIT_IrDA;	// Unmask IrDA pending bit
}

#else

void __irq Irda_Int_Tx()
{
	unsigned char status=0;
	unsigned char i =0;
	
	// Mast interrupt Pending bit of IrDA
	rINTMSK |= BIT_IrDA;	// Mask IrDA pending bit

	// Clear interrupt pending bit of IrDA
	ClearPending(BIT_IrDA);

	status = (unsigned char)rIrDA_IIR;			// Read IIR(Interrupt Identification Register) of IrDA
	//printf("IrDA IIR:0x%x\n", status);

	if(status & 0x2) // TX Trigger
	{
		for (i=0;i<IrDA_TxBUFLEN;i++)
		{
			rIrDA_RBR = cData;
			*IrDA_CKBUFFER++ = cData++;
		}

		IrDA_TxCnt += IrDA_TxBUFLEN;
		//IrDA_TxCnt +=IrDA_TxNum;
		if (IrDA_TxNum <= IrDA_TxCnt) 
		{
			rIrDA_IER &= ~(1<<1);
			IrDA_TxDone = 1;
		}
		
	}
	if(status & 0x20) // TX Trigger
	{
		printf("Tx Underrun error!! \n");
//		IrDA_CKBUFFER  = (unsigned char *)MemoryCk; 
//		IrDA_CKBUFFER1 = (unsigned char *)MemoryCk1;	
//		for(i=0; i<IrDA_TxCnt ; i++)
//			printf("[D:%3d, N:%3d] ", *IrDA_CKBUFFER++, *IrDA_CKBUFFER1++);
	}

	// Unmast interrupt Pending bit of IrDA
	rINTMSK    &= ~BIT_IrDA;	// Unmask IrDA pending bit
}

#endif


void Test_Irda_Fifo_Int_Tx(int MODE,int PREAMBLE,int STARTFLAG,int TXFL,int TXTRIG)
{
	int	i;

	//
	// BY DW-K:
	// Get Bytes count for Tx from USER.
	//

	printf("Data length to transmit (multiple of %d): ",IrDA_TxBUFLEN);
	IrDA_TxCnt = 0;
	IrDA_TxNum = GetIntNum();
	if (IrDA_TxNum == -1) IrDA_TxNum = 16; //data length

	// Initilize IrDA with the FRAME SIZE given by user.
	Init_Irda(MODE, PREAMBLE, STARTFLAG, TXFL, TXTRIG);

	// Register IrDA ISR
	pISR_IrDA = (unsigned)Irda_Int_Tx;

	ClearPending(BIT_IrDA);	// Clear IrDA Int Pending

	rINTMSK &= ~(BIT_IrDA);	// Unmask IrDA pending bit

	// Initialize Check Data ----------------START
	IrDA_CKBUFFER=(unsigned char *)MemoryCk;
	for (i=0; i<IrDA_TxNum; i++) {
		*IrDA_CKBUFFER++ = 0;
	}
	IrDA_CKBUFFER=(unsigned char *)MemoryCk;
	// Initialize Check Data -----------------END

	// Initialize Check Data ----------------START
	IrDA_CKBUFFER1=(unsigned char *)MemoryCk1;
	for (i=0; i<IrDA_TxNum; i++) {
		*IrDA_CKBUFFER1++ = 0;
	}
	IrDA_CKBUFFER1 = (unsigned char *)MemoryCk1;
	// Initialize Check Data -----------------END

	IrDA_TxDone = 0;

	rIrDA_CNT |=(IrDA_TxINTEnb<<7)|(IrDA_RxINTEnb<<6);
	rIrDA_IER  = 0xff;				// Enable all interrpt of IrDA
	rIrDA_CNF  |= (1); // Enable Interrupt 

	while(!IrDA_TxDone);

	printf("Wait until Tx buffer is empty\n");
	while(!(rIrDA_LSR & 0x80));			//Check Tx FIFO empty
	printf("Tx buffer is empty!!, Tx Done!!\n");

	printf("ISR count=%d\n",TxISR_cnt);
	printf("[Tx String :\n");
	IrDA_CKBUFFER  = (unsigned char *)MemoryCk;	
	IrDA_CKBUFFER1 = (unsigned char *)MemoryCk1;	

	printf("\t");
	for(i=0; i<IrDA_TxNum ; i++)
	{
		printf("[D:%3d] ", *IrDA_CKBUFFER++);
		if(!((i+1)%64)) printf("\n");
		if(!((i+1)%8)) printf("\n\t");
	}
	printf("\n");
	rIrDA_IER  = 0x00;				// Disable all interrpt of IrDA
	rIrDA_CNF  &= ~(1);				// Disable Interrupt 
}	
// IrDA Interrupt Test Code end============================================================[END]


// IrDA DMA Test Code Start=============================================================[START]
void __irq Irda_Dma_Done()
{
	int l = IrDA_RxBUFLEN;
	unsigned char *rxData = (unsigned char *)MemoryRx;
	
	rINTSUBMSK|=(BIT_SUB_DMA0|BIT_SUB_DMA1|BIT_SUB_DMA2|BIT_SUB_DMA3);	// Just for the safety	
	
	if(rSUBSRCPND&BIT_SUB_DMA0) // Rx
	{
		rSUBSRCPND = BIT_SUB_DMA0;
		ClearPending(BIT_DMA_SBUS);
		while (l--) *bHead++ = *rxData++;
		IrDA_DONE = 1;
//		printf("IrDA DMA0(Rx) Done.....\n");
		rINTSUBMSK &= ~BIT_SUB_DMA0;
	}

	if(rSUBSRCPND&BIT_SUB_DMA1) // Tx
	{
		rSUBSRCPND = BIT_SUB_DMA1;
		ClearPending(BIT_DMA_SBUS);
		rDMASKTRIG1=0; 	// STOP,DMA3 channel off, no-sw trigger 
		IrDA_DONE=1; // Check Clear the semaphore
		IrDA_TxCnt++;
		rINTSUBMSK &= ~BIT_SUB_DMA1;
//		printf("IrDA DMA1(Tx) Done.....\n");
	}
}

void Init_Irda_Dma_Rx(void)
{
	// DMA3 IrDA Rx init 
	rDISRC0=(unsigned)0x44C00020; //Address of RxBUF Register
	rDISRCC0=(1<<1)|(1); //APB(IrDA), fix
	rDIDST0=(unsigned)MemoryRx; //Address of Memory
	rDIDSTC0=(0<<1)|(0); //AHB(Memory), inc
	rDCON0=(0<<31)|(1<<30)|(1<<29)|(0<<28)|(1<<27)|(0<<22)|(0<<20)|(IrDA_RxBUFLEN);
	//demand, sync HCLK, TC int, single transfer, whole service,
	//auto-reload, byte, transfer count = IrDA_RxBUFLEN
	rDMAREQSEL0=(12<<1)|(1<<0);
	// IrDA, H/W request, 
}

void Test_Irda_Fifo_Dma_Rx(int MODE,int PREAMBLE,int STARTFLAG,int RXFL,int RXTRIG)
{
	// Initialize Check Data ----------------START
	IrDA_RXBUFFER=(unsigned char *)MemoryRx;
	bHead=(unsigned char *)MemoryCk;
	bTail=(unsigned char *)MemoryCk;

	// Initialize RX DMA -----------------START
	pISR_DMA_SBUS=(unsigned)Irda_Dma_Done;
	Init_Irda_Dma_Rx();
	ClearPending(BIT_DMA_SBUS);
	rSUBSRCPND=BIT_SUB_DMA0;
	// Initialize RX DMA  -----------------END

	Init_Irda(MODE, PREAMBLE, STARTFLAG, RXFL, RXTRIG); // Initialize IrDA

	rIrDA_CNF=(1<<3)|(1<<2); // Enable Rx DMA
	rIrDA_CNT|=(1<<6); // Enable RX
	//Delay(5000);
	rDMASKTRIG0=(0<<2)|(1<<1)|(0);    // Run, DMA3 channel on, no-sw trigger 
	rINTMSK=~(BIT_DMA_SBUS); // Unmask DMA done INT
	rINTSUBMSK=~(BIT_SUB_DMA0); // Unmask DMA done INT	

	IrDA_DONE = 0;	

	while(1)
	{
		if (IrDA_DONE) 
		{
			printf("[D:0x%x] ", rDCDST0);
			printf("[H:0x%x] ", bHead);
			printf("[T:0x%x]\n", bTail);

			while (bTail != bHead)
				printf("[D:%3d] ",*bTail++);
			IrDA_DONE=0;
			printf(".\n");
		}
		if (Uart_GetKey() == '\r') break;
	}

	rINTMSK |= (BIT_DMA_SBUS); // Unmask DMA done INT
	rINTSUBMSK |= (BIT_SUB_DMA0); // Unmask DMA done INT	
	rDMASKTRIG0 = 0; 	// Run, DMA3 channel on, no-sw trigger 
}

void Init_Irda_Dma_Tx()
{
	// DMA3 IrDA Tx init 
	rDISRC1=(unsigned)IrDA_TXBUFFER;//Address of Memory
	rDISRCC1=(0<<1)|(0);		//AHB(Memory), inc
	rDIDST1=(unsigned)0x44C00020;	//Address of IrDA_RBR Register
	rDIDSTC1=(1<<1)|(1);		//APB(IrDA), fix
	rDCON1=(0<<31)|(1<<30)|(1<<29)|(0<<28)|(1<<27)|(1<<22)|(0<<20)|(IrDA_TxBUFLEN);
	//demand, sync HCLK, TC int, unit transfer, single tx, single service, 
	//off-reload, byte, IrDA_BUFLEN
	rDMAREQSEL1=(12<<1)|(0<<0);
	// IrDA, S/W request, 
}

void Test_Irda_Fifo_Dma_Tx(int MODE,int PREAMBLE,int STARTFLAG,int TXFL,int TXTRIG)
{
	int cnt, precnt, i;
	unsigned char c = 1;
	
	printf("Data length to transmit (multiple of %d): ",IrDA_TxBUFLEN);
	IrDA_TxNum = GetIntNum(); //data length
	if (IrDA_TxNum == -1) IrDA_TxNum = 16; //data length
	IrDA_TxCnt = 0;
	
	// Initialize TX Data ----------------START
	IrDA_TXBUFFER=(unsigned char *)MemoryTx;
	for(i=0;i<IrDA_TxNum;i++)
		*IrDA_TXBUFFER++ = c==0 ? c=1 : c++;
	*IrDA_TXBUFFER=0;
	IrDA_TXBUFFER=(unsigned char *)MemoryTx;
	// Initialize TX Data -----------------END

	// Initialize TX DMA -----------------START
	pISR_DMA_SBUS=(unsigned)Irda_Dma_Done;
	Init_Irda_Dma_Tx();
	rSUBSRCPND=BIT_SUB_DMA1;
	ClearPending(BIT_DMA_SBUS);
	// Initialize TX DMA  -----------------END

	printf("IrDA DMA Tx!!!!\n");

	Init_Irda(MODE, PREAMBLE, STARTFLAG, TXFL, TXTRIG); // Initialize IrDA

	rIrDA_CNF = (1<<3)|(0<<2); // Enable Tx DMA
	rIrDA_CNT |= (1<<7); // Enable TX
	rDMASKTRIG1 = (0<<2)|(1<<1)|(1); 	//run, DMA1 channel on, sw trigger 
	rINTMSK &= ~(BIT_DMA_SBUS); // Unmask DMA done INT	
	rINTSUBMSK &= ~(BIT_SUB_DMA1);

	IrDA_DONE = 0;	
	precnt = 0;
	cnt = 0;
	while(1)
	{
		if(!IrDA_DONE) continue;

		i = IrDA_TxCnt * IrDA_TxBUFLEN;
		if(i < IrDA_TxNum)
		{
			IrDA_DONE = 0;
			rDISRC1=(unsigned)(IrDA_TXBUFFER+i);//Address of Memory
			rDMASKTRIG1 = (0<<2)|(1<<1)|(1); 	//run, DMA1 channel on, sw trigger 
		}
		else break;				

		// debug
/*		cnt = rDSTAT1&0xfffff;
		if (precnt != cnt)
	 	{
			printf("[DMA count:%d, busy:0x%x, src addr:0x%x, dst addr:0x%x]",cnt,rDSTAT1&0x100000,rDCSRC1,rDCDST1);
			precnt = cnt;
		}
*/	
	}

	while(!(rIrDA_LSR & 0x80)); // Wait until TX FIFO is empty
	rIrDA_CNT&= ~((0<<7)|(0<<6)); // Disable RXTX
	printf("TEST_IrDA_FIFO_DMA_TX is done\n");	
	
	printf("Tx String :\n");
	IrDA_TXBUFFER=(unsigned char *)MemoryTx;	
	for(i=0;i<IrDA_TxNum;i++)
		printf("%3d ",*IrDA_TXBUFFER++);
	rINTMSK |= (BIT_DMA_SBUS); // Unmask DMA done INT	
	rINTSUBMSK |= (BIT_SUB_DMA1);
}	
// IrDA DMA Test Code ============================================================== [END]


// added by junon
void Test_IrDA_GPIO(void)
{
	int i;
	
	SetIrdaPort();

	// GPIO port test	
	rGPHCON &= ~(0x3f<<18);	// GP28~31 output
	rGPHCON |= (0x15<<18);	// GP28~31 output
	rGPHPU &= ~(0x7<<9); 	//Uart port pull-up

	printf("Press Any key...GP16~18 will be triggered... if you want to exit, press Enter key");
	while(getchar() != '\r') 
//		rGPDAT &=~(0xf<<28);
	{	
		i++;
		if ( (i%2) == 0 )	
			rGPHDAT |= (0x7<<9);
		else 
			rGPHDAT &=~(0x7<<9);
	}

	ReturnIrdaPort();
}       


void Test_IrDA_Polling(void)
{
	// Initialize RX Buffer---------------START
	unsigned char c;
	IrDA_RXBUFFER=(unsigned char *)MemoryRx;
	for(c=0;c<IrDA_BUFLEN;c++)
		*IrDA_RXBUFFER++=0;
	*IrDA_RXBUFFER=0;
	IrDA_RXBUFFER=(unsigned char *)MemoryRx;	
	printf("IrDA Polling Rx!!!!\n");
	// Initialize RX Buffer-----------------END

	SetIrdaPort();

	Init_Irda(MODE_VALUE, PREAMBLE_VALUE, STARTFLAG_VALUE, RXFL_VALUE, RXTR_VALUE);
	
	ReturnIrdaPort();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美色图免费看| 亚洲特级片在线| 91精品国产手机| 色婷婷精品大在线视频| 99这里只有久久精品视频| 国产91精品一区二区麻豆亚洲| 国内外成人在线| 国产精品一级在线| 成人免费毛片aaaaa**| 成人免费毛片aaaaa**| av成人免费在线观看| 91视频观看免费| 欧美伊人精品成人久久综合97 | 久久久天堂av| 国产天堂亚洲国产碰碰| 日本一区二区三区高清不卡 | 国产精品麻豆视频| 国产精品高潮呻吟| 中文字幕中文乱码欧美一区二区 | 欧美电影影音先锋| 日韩亚洲欧美一区二区三区| 欧美tk丨vk视频| 国产精品久久久久婷婷二区次| 亚洲日穴在线视频| 午夜精品久久久久久久99水蜜桃| 蜜桃视频在线一区| 成人免费观看av| 99精品国产热久久91蜜凸| 色狠狠色噜噜噜综合网| 欧美丝袜丝交足nylons| 欧美一区二区三区在线| 欧美高清在线精品一区| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲成a人v欧美综合天堂下载| 久久国产麻豆精品| 91麻豆精东视频| 4438x成人网最大色成网站| 国产日韩精品一区二区浪潮av| 亚洲欧美日韩电影| 国产一区二区在线影院| 色一情一乱一乱一91av| 欧美成人精品高清在线播放| 亚洲四区在线观看| 精品一区二区三区日韩| 91美女福利视频| 久久蜜桃一区二区| 香蕉成人啪国产精品视频综合网| 日本中文一区二区三区| 91丨九色porny丨蝌蚪| 欧美一级一级性生活免费录像| 中文字幕中文字幕一区二区| 激情深爱一区二区| 色又黄又爽网站www久久| 久久一日本道色综合| 一区二区三区不卡视频在线观看 | 国产不卡在线一区| 欧美电影一区二区三区| 欧美激情在线一区二区三区| 丝袜诱惑亚洲看片| 91麻豆国产精品久久| 国产亚洲成年网址在线观看| 久久精品久久久精品美女| 欧美视频一区在线| 国产精品麻豆欧美日韩ww| 国产精品一线二线三线| 欧美精选一区二区| 最新热久久免费视频| 国产麻豆成人精品| 日韩免费性生活视频播放| 亚洲国产视频在线| 欧美性生活久久| 亚洲精品高清在线观看| 91网站在线观看视频| 中文字幕的久久| 丁香啪啪综合成人亚洲小说 | 国模套图日韩精品一区二区 | 精品一区二区三区欧美| 欧美一区二区三区白人| 免费av成人在线| 91精品国产高清一区二区三区| 天天综合色天天综合色h| 欧美丝袜自拍制服另类| 亚洲啪啪综合av一区二区三区| 丁香六月久久综合狠狠色| 国产女人18毛片水真多成人如厕| 美女视频黄久久| 在线视频你懂得一区| 亚洲品质自拍视频| 成人综合婷婷国产精品久久免费| 国产三级精品在线| 91麻豆精品一区二区三区| 亚洲天堂av一区| 精品1区2区3区| 久久精品国产99久久6| 欧美久久久久免费| 免费av成人在线| 精品久久久久一区二区国产| 激情五月婷婷综合| 亚洲欧洲国产日本综合| 欧美日韩一区二区三区四区五区| 亚洲风情在线资源站| 欧美丰满高潮xxxx喷水动漫| 激情综合网av| 国产精品国产自产拍高清av| 一本色道久久综合亚洲91| 一区二区三区波多野结衣在线观看 | 色噜噜狠狠色综合欧洲selulu| 亚洲图片你懂的| 91精品国产综合久久精品图片| 国内成+人亚洲+欧美+综合在线| 日本一区二区三区在线不卡| 在线观看欧美黄色| 国内外精品视频| 日韩美女精品在线| 精品免费国产二区三区 | 欧美三级中文字幕在线观看| 激情综合色综合久久| 亚洲品质自拍视频网站| 日韩欧美国产综合在线一区二区三区| 国产高清不卡二三区| 亚洲另类一区二区| 国产日韩欧美亚洲| 欧美夫妻性生活| 成人a免费在线看| 日韩国产高清在线| 中文字幕一区在线观看| 精品剧情在线观看| 欧美日韩一卡二卡三卡 | 丁香婷婷深情五月亚洲| 日韩国产在线一| 国产精品你懂的在线欣赏| 欧美一区二区三区的| 91免费观看视频| 国产精品亚洲一区二区三区妖精| 一区二区三区小说| 欧美精品一区二区精品网| 欧美精品在线视频| 成人教育av在线| 国产一区二区免费看| 自拍偷拍亚洲综合| 国产日韩影视精品| 国产色综合一区| 久久中文娱乐网| 精品欧美乱码久久久久久| 欧美日韩中文字幕精品| 97精品国产97久久久久久久久久久久 | 视频一区视频二区中文字幕| 亚洲色图制服诱惑| 亚洲色图欧美偷拍| 亚洲欧美日韩中文播放| 国产精品丝袜一区| 国产精品色在线| 国产日韩欧美高清| 欧美国产欧美综合| 国产精品美日韩| 欧美激情一区二区| 26uuu国产日韩综合| 精品国产伦一区二区三区免费| 欧美精品免费视频| 欧美日韩国产电影| 91精品婷婷国产综合久久性色| 欧美亚洲动漫精品| 777午夜精品免费视频| 欧美日韩一区精品| 欧美精品在线观看一区二区| 51午夜精品国产| 欧美电影免费观看完整版| 欧美一级高清片| 久久久国产精华| 国产精品色一区二区三区| 最新高清无码专区| 曰韩精品一区二区| 日韩国产在线观看| 国产乱子伦视频一区二区三区| 国产福利一区二区三区视频在线| 久久99精品视频| 成人中文字幕电影| 欧美午夜在线观看| 欧美日韩美少妇| 欧美一区中文字幕| 久久久综合九色合综国产精品| 久久久久国产免费免费| 国产精品麻豆99久久久久久| 亚洲激情六月丁香| 一区二区三区高清| 国内精品久久久久影院薰衣草 | 亚洲人成亚洲人成在线观看图片 | 中文字幕精品综合| 欧美激情一区不卡| 夜夜嗨av一区二区三区中文字幕| 亚洲午夜精品网| 久久精品久久精品| 色猫猫国产区一区二在线视频| 色婷婷香蕉在线一区二区| 欧美亚洲动漫另类| 国产人伦精品一区二区| 亚洲影视在线播放| 国产乱淫av一区二区三区| 色视频一区二区| 欧美精品一区二区三区久久久|