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

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

?? uart.c

?? 這個是在windows下用ADS開發的s3c44b0的硬件測試程序
?? C
字號:
/****************************************************************
 *		  ARMSYS S3C44B0X  UART TEST							*  
 ****************************************************************
 
  1.2005.4.23::  UART0 & UART1 TEST
 
 ***************************************************************/
 
#include <string.h>
#include <stdlib.h>
#include "..\target\44b.h"
#include "..\target\44blib.h"
#include "..\target\def.h"
#include "..\inc\rtc.h"
#include "..\inc\Uart.h"

#define KEY_BUFLEN 100

char Uart_IntGetkey(void);
void Uart_Port(void);
void Return_Port(void);

static unsigned char keyBuf[KEY_BUFLEN];
volatile static int keyBufRdPt=0,keyBufWrPt=0;
volatile static char *uart0TxStr,*uart1TxStr;
volatile char out=1;

volatile U32 save_UC,save_UE,save_UPC,save_UPE;

void Uart_Port(void)
{
    save_UC=rPCONC;		//for RxD1,TxD1  
    save_UE=rPCONE;		//for RxD0,TxD0
    save_UPC=rPUPC;
    save_UPE=rPUPE;
   
    rPCONC |=0x0f000000;			//PC13=RxD1,PC12=TxD1
    rPUPC |=0x3000;					//Uart1 port pull-up disable
    rPCONE=(rPCONE &0x3ffe)|0x28;	//PE2=RxD0,PE1=TxD0
    rPUPE |=0x6;					//Uart0 port pull-up disable 
}


void Return_Port(void)
{
    rPCONC=save_UC;
    rPCONE=save_UE;
    rPUPC=save_UPC;
    rPUPE=save_UPE;
}


char Uart_IntGetkey(void)
{
    if(keyBufRdPt==KEY_BUFLEN)
	keyBufRdPt=0;

    while(keyBufWrPt==keyBufRdPt);  //until FIFO is triggered
    return keyBuf[keyBufRdPt++];
}

////////UART 0 TEST////////////////

void Test_Uart0(void)
{
    int key;
    Uart_Port(); 
    keyBufRdPt=keyBufWrPt=0;
    pISR_UTXD0=(unsigned)Uart0_TxInt;
    pISR_URXD0=(unsigned)Uart0_RxInt;
    
    /*********** UART0 Tx test with interrupt ***********/  
    Uart_Printf("[UART0 Tx 中斷測試]\n");
    Uart_TxEmpty(0); //wait until tx shifter is empty.

    uart0TxStr="UART0 Tx 中斷測試通過!!!!\r\n";

    rUCON0 = 0x244; //tx:level,rx:edge,error int,normal*2,interrupt(Start)
    rINTMSK=~(BIT_GLOBAL|BIT_UTXD0);

    Delay(3000);

    /*********** UART0 Tx test with BDMA0 ***********/ 
    rUCON0 = 0x245;//for BDMA0

    Uart_Printf("\n[UART0 Tx 在BDMA0方式測試]\n");
    uart0TxStr="UART0 Tx 在BDMA0方式測試通過!!!!\r\n";
    Uart_TxEmpty(0);

    rUCON0=0x48;    //tx:BDMA0 rx:disable

    rBDICNT0=0x0;
    rBDCON0 =0x0;
    rBDISRC0=(unsigned int)uart0TxStr|(0<<30)|(1<<28);  // byte,inc
    rBDIDES0=UTXH0 |(1<<30)|(3<<28);	//L/B endian,M2IO,fix   
    rBDICNT0=strlen((char *)uart0TxStr)|(2<<30)|(1<<26)|(0<<20); //UART0,
    rBDICNT0 |= (1<<20); //enable

    while(!((rBDCON0&0x30)==0x20));
    Uart_TxEmpty(0);

    /*********** UART0 Rx test with interrupt ***********/
    rUCON0=0x45;    //tx:int rx:int

    Uart_Printf("\n[UART0 Rx 中斷測試]:按任意鍵!!!\n");
    Uart_Printf("您可以看到按下了哪個鍵。按Enter鍵退出。\n");
    Uart_TxEmpty(0);

    rINTMSK=~(BIT_GLOBAL|BIT_URXD0);

    keyBufRdPt=keyBufWrPt=0;
    while((key=Uart_IntGetkey())!='\r')
	    Uart_SendByte(key);

    rINTMSK=~BIT_GLOBAL;
    Uart_Printf("\n");
    Test_Uart0Fifo();	//UART0 FIFO TEST
    Return_Port();
    
}


void __irq Uart0_RxInt(void)
{
    rI_ISPC=BIT_URXD0;
    
	 switch(rUERSTAT0 & 0xf)//to clear and check the status of register bits
    {
	case '1':
	    Uart_Printf("溢出錯誤!!!!\n");
	    break;
	case '2':
	    Uart_Printf("奇偶校驗錯誤!!!!\n");
	    break;
	case '4':
	    Uart_Printf("幀錯誤!!!!\n");
	    break;
	case '8':
	    Uart_Printf("中止檢測!!!!\n");
	    break;
	default :
	    break;
    }
    //Uart_Printf("UERSTAT0 = 0x%x\n", rUERSTAT0 & 0xf);
	
    keyBuf[keyBufWrPt++]=RdURXH0();
    if(keyBufWrPt==KEY_BUFLEN)
		keyBufWrPt=0;
}

//unsigned int txcount=0;
void __irq Uart0_TxInt(void)
{
//    rI_ISPC=BIT_UTXD0; //This cann't make the pending bit be cleared in the level trigger mode.

    if(*uart0TxStr != '\0')
    {
	WrUTXH0(*uart0TxStr++);
	rI_ISPC=BIT_UTXD0; //Because UART operates using level trigger mode.
    }
    else
    {				//ES3
	rINTMSK |= BIT_UTXD0;	//ES3
	rI_ISPC=BIT_UTXD0;	//ES3
    }				//ES3
}
/********** UART0 FIFO TEST *******/
void Test_Uart0Fifo(void)
{
    int key;

    //Uart_Port();
    keyBufRdPt=keyBufWrPt=0;
    pISR_UTXD0=(unsigned)Uart0_TxFifoInt;
    pISR_URXD0=(unsigned)Uart0_RxFifoInt;
    pISR_UERR01=(unsigned)Uart0_RxFifoErrorInt;

    /*********** UART0 Tx FIFO test with interrupt ***********/     
    Uart_Printf("\n[UART0 Tx FIFO 中斷測試]\n");
    Uart_TxEmpty(0);	//wait until tx shifter is empty.

    uart0TxStr="UART0 Tx FIFO 中斷測試通過!!!!\r\n";
    rUFCON0=(2<<6)|(1<<4)|(6)|1;
    //FIFO trigger:tx/rx:8byte,tx/rx_fifo reset(will be cleared),FIFO enable.
    rUCON0 = 0x244;	//tx:levl,rx:edge,error int,normal*2,interrupt(Start)
    rINTMSK=~(BIT_GLOBAL|BIT_UTXD0);

    Delay(500);
    /*********** UART0 Tx FIFO test with BDMA0 ***********/ 
    Uart_Init(0,115200);
    Uart_Printf("\n[UART0 Tx FIFO 在BDMA0方式測試]\n");
    uart0TxStr="UART0 Tx FIFO 在BDMA0方式測試通過!!!!\r\n";
    Uart_TxEmpty(0);

    rUCON0=0x48;	//tx:BDMA0 rx:disable

    rBDICNT0=0;
    rBDCON0 =0x0;
    rBDISRC0=(unsigned int)uart0TxStr|(0<<30)|(1<<28);  // byte,inc
    rBDIDES0=UTXH0 |(1<<30)|(3<<28);  //L/B endian,M2IO,fix
    rBDICNT0=strlen((char *)uart0TxStr)|(2<<30)|(1<<26)|(0<<20); //UART0,start,polling
    rBDICNT0 |= (1<<20); //enable

    while(!((rBDCON0&0x30)==0x20));        
    Uart_TxEmpty(0);
    
    /*********** UART0 Rx FIFO test with interrupt ***********/ 
    rUCON0=0x245|0x80;	//tx:level,rx:edge,tx/rx:int,rcv_time_out enabled,error int enable

    Uart_Printf("\n[UART0 Rx FIFO 中斷測試]:按任意鍵!!!\n");
    Uart_Printf("您可以看到按下了哪個鍵。按Enter鍵退出。\n");

    rINTMSK=~(BIT_GLOBAL|BIT_URXD0|BIT_UERR01);

    while( (rUFSTAT0&0xf) >0 )
        key=RdURXH0();  //To clear the Rx FIFO
    //rUERSTAT0;	        //To clear the uart Rx error state registers

    while((key=Uart_IntGetkey())!='\r')
        Uart_SendByte(key);

    rUFCON0=(2<<6)|(1<<4)|(6)|0;  
    //FIFO trigger:tx/rx:8byte, txrx_fifo reset(will be cleared), FIFO disable.

    rINTMSK=~BIT_GLOBAL;
    rUCON0=0x45;	//rcv_time_out disabled
    Uart_Printf("\n");
    //Return_Port();
}


void __irq Uart0_TxFifoInt(void)
{
    while( !(rUFSTAT0 & 0x200) && (*uart0TxStr != '\0') )   //until tx fifo full or end of string
    {
	rUTXH0=*uart0TxStr++;
	//for(i=0;i<700;i++); //to avoid overwriting FIFO
    }

    rI_ISPC=BIT_UTXD0;        
    if(*uart0TxStr == '\0')
//	SET_INTMSK_IRQ(BIT_UTXD0);//work around for ES2
    {				//ES3
	rINTMSK |= BIT_UTXD0;	//ES3
	rI_ISPC=BIT_UTXD0;	//ES3
    }				//ES3
}


void __irq Uart0_RxFifoInt(void)
{
    rI_ISPC=BIT_URXD0;
//  if(rUFSTAT0==0)
//	Uart_Printf("time out\n");
    while( (rUFSTAT0&0xf) >0 )	    //until FIFO is empty
    {
	keyBuf[keyBufWrPt++]=rURXH0;//rx buffer->keyBuf[]
	if(keyBufWrPt==KEY_BUFLEN)
	    keyBufWrPt=0;
    }
}


void __irq Uart0_RxFifoErrorInt(void)
{
    rI_ISPC=BIT_UERR01;
   
   
    while( (rUFSTAT0&0xf) >0 )
    {
	    keyBuf[keyBufWrPt++]=rURXH0;
	    if(keyBufWrPt==KEY_BUFLEN)
		    keyBufWrPt=0;
    }
}
	


////////UART 1 TEST////////////////

void Test_Uart1(void)
{
    int key;
    
    Uart_Port(); 
    keyBufRdPt=keyBufWrPt=0;
    pISR_UTXD1=(unsigned)Uart1_TxInt;
    pISR_URXD1=(unsigned)Uart1_RxInt;
   
    /*********** UART1 Tx test with interrupt ***********/  
    Uart_Printf("[UART1 Tx 中斷測試]\n");
    Uart_Printf("請將串口插頭插到UART1插座!!!! \n");
    Uart_Printf("串口插頭插到UART1后,按下任意鍵進行該測試。\n");
    Uart_Select(1);
    Uart_Getch();

    uart1TxStr="UART1 Tx 中斷測試通過!!!!\r\n";
    rINTMSK=~(BIT_GLOBAL|BIT_UTXD1);
//  rUCON1 &= 0x3f3;   
//  rUCON1 |= 0x4;  //needed to set the UTXD0 pending bit.
    rUCON1 = 0x244; //rx:edge,tx:level,error int,normal*2,interrupt(Start)
    Delay(3000);

    /*********** UART1 Tx test with BDMA1 ***********/
    rUCON1 = 0x245;

    Uart_Printf("\n[UART1 Tx 在BDMA1方式測試]\n");
    uart1TxStr="UART1 Tx 在BDMA1方式測試通過!!!!\r\n";
    Uart_TxEmpty(1);
    
    rUCON1=0x4c;    //tx:BDMA0 rx:disable

    rBDICNT1=0x0;
    rBDCON1 =0x0;
    rBDISRC1=(unsigned int)uart1TxStr|(0<<30)|(1<<28);  // byte,inc
    rBDIDES1=UTXH1 |(1<<30)|(3<<28);  //L/B endian,M2IO,fix   
    rBDICNT1=strlen((char *)uart1TxStr)|(2<<30)|(1<<26)|(0<<20); //UART1,
    rBDICNT1 |= (1<<20); //enable

    while(!((rBDCON1&0x30)==0x20));
    Uart_TxEmpty(1);

    /*********** UART1 Rx test with interrupt ***********/
    rUCON1=0x45;    //tx:int rx:int
    Uart_Printf("\n[UART1 Rx 中斷測試]:按任意鍵!!!!\n");
    Uart_Printf("您可以看到按下了哪個鍵。按Enter鍵退出。\n");

    rINTMSK=~(BIT_GLOBAL|BIT_URXD1);

    keyBufRdPt=keyBufWrPt=0;    
    while((key=Uart_IntGetkey())!='\r')
    Uart_SendByte(key);

    rINTMSK=~BIT_GLOBAL;
    Uart_Printf("\n");
	Test_Uart1Fifo(); //UART1 FIFO TEST
    Uart_Printf("在退出該測試之前請將串口插頭插到UART0插座!!!!\n");
    Uart_Printf("串口插頭插到UART0后,按下任意鍵退出該測試。\n");
    Uart_Select(0);
    Uart_Getch();
    Return_Port();
}


void __irq Uart1_RxInt(void)
{
    rI_ISPC=BIT_URXD1;
    
     switch(rUERSTAT1)//to clear and check the status of register bits
    {
	case '1':
	    Uart_Printf("溢出錯誤!!!!\n");
	    break;
	case '2':
	    Uart_Printf("奇偶校驗錯誤!!!!\n");
	    break;
	case '4':
	    Uart_Printf("幀錯誤!!!!\n");
	    break;
	case '8':
	    Uart_Printf("中止檢測!!!!\n");
	    break;
	default :
	    break;
    }

    keyBuf[keyBufWrPt++]=RdURXH1();
    if(keyBufWrPt==KEY_BUFLEN)
	keyBufWrPt=0;
}


void __irq Uart1_TxInt(void)
{
//    rI_ISPC=BIT_UTXD1;

    if(*uart1TxStr != '\0')
    {
	WrUTXH1(*uart1TxStr++);
	rI_ISPC=BIT_UTXD1;
    }
    else
    {				//ES3
	rINTMSK |= BIT_UTXD1;	//ES3
	rI_ISPC=BIT_UTXD1;	//ES3
    }				//ES3
}
	/********** UART1 FIFO TEST **********/
void Test_Uart1Fifo(void)
{
    int key;
    //Uart_Port();
    keyBufRdPt=keyBufWrPt=0;
    pISR_UTXD1=(unsigned)Uart1_TxFifoInt;
    pISR_URXD1=(unsigned)Uart1_RxFifoInt;
    pISR_UERR01=(unsigned)Uart1_RxFifoErrorInt;

    /*********** UART1 Tx FIFO test with interrupt ***********/     
    Uart_Printf("\n[UART1 Tx FIFO 中斷測試]\n");
	Uart_TxEmpty(1);	//wait until tx shifter is empty.
    uart1TxStr="UART1 Tx FIFO 中斷測試通過!!!!\r\n";
    rUFCON1=(2<<6)|(1<<4)|(6)|1;
    //FIFO trigger:tx/rx:8byte,tx/rx_fifo reset(will be cleared),FIFO enable.
    rUCON1 = 0x244;             //rx:edge,tx:level,error int,normal*2,interrupt(Start)    
    rINTMSK=~(BIT_GLOBAL|BIT_UTXD1);

    Delay(500);
    /*********** UART1 Tx FIFO test with BDMA1 ***********/ 
    Uart_Init(0,115200);
    Uart_Printf("\n[UART1 Tx FIFO 在BDMA1方式測試]\n");
    uart1TxStr="UART1 Tx FIFO 在BDMA0方式測試通過!!!!\r\n";
    Uart_TxEmpty(1);

    rUCON1=0x4c;	//tx:BDMA1 rx:disable

    rBDICNT1=0;
    rBDCON1 =0x0;
    rBDISRC1=(unsigned int)uart1TxStr|(0<<30)|(1<<28);  // byte,inc
    rBDIDES1=UTXH1 |(1<<30)|(3<<28);  //L/B endian,M2IO,fix
    rBDICNT1=strlen((char *)uart1TxStr)|(2<<30)|(1<<26)|(0<<20); //UART1,start,polling
    rBDICNT1 |= (1<<20); //enable

    while((rBDCON1&0x30)==0x10);        
    Uart_TxEmpty(1);
    
    /*********** UART1 Rx FIFO test with interrupt ***********/ 
    rUCON1=0x245|0x80;	//rx:edge,tx:level,tx/rx:int,rcv_time_out enabled,error int enable

    Uart_Printf("\n[UART1 Rx FIFO 中斷測試]:按任意鍵!!!!\n");
    Uart_Printf("您可以看到按下了哪個鍵。按Enter鍵退出。\n");

    rINTMSK=~(BIT_GLOBAL|BIT_URXD1|BIT_UERR01);
    keyBufRdPt=keyBufWrPt=0;
    while( (rUFSTAT1&0xf) >0 )
	key=RdURXH1();  //To clear the Rx FIFO
    //rUERSTAT1;          //To clear the uart Rx error state registers

    while((key=Uart_IntGetkey())!='\r')
	Uart_SendByte(key);

    rUFCON1=(2<<6)|(1<<4)|(6)|0;  
    //FIFO trigger:tx/rx:8byte, txrx_fifo reset(will be cleared), FIFO disable.

    rINTMSK=~BIT_GLOBAL;
    rUCON1=0x45;	//rcv_time_out disabled
    Uart_Printf("\n");

}


void __irq Uart1_TxFifoInt(void)
{
    int i;
    while( !(rUFSTAT1 == 16) && (*uart1TxStr != '\0') )   //until tx fifo full or end of string
    {
	rUTXH1=*uart1TxStr++;
	for(i=0;i<700;i++); //to avoid overwriting FIFO
    }

    rI_ISPC=BIT_UTXD1;
    if(*uart1TxStr == '\0')
//	SET_INTMSK_IRQ(BIT_UTXD1);//work around for ES2
    {				//ES3
	rINTMSK |= BIT_UTXD1;	//ES3
	rI_ISPC=BIT_UTXD1;	//ES3
    }				//ES3
}


void __irq Uart1_RxFifoInt(void)
{
    rI_ISPC=BIT_URXD1;
//  if(rUFSTAT1==0)
//	Uart_Printf("time out\n");
    while( (rUFSTAT1&0xf) >0 )	    //until FIFO is empty
    {
	keyBuf[keyBufWrPt++]=rURXH1;	//rx buffer->keyBuf[]
	if(keyBufWrPt==KEY_BUFLEN)
	    keyBufWrPt=1;
    }
}


void __irq Uart1_RxFifoErrorInt(void)
{
    rI_ISPC=BIT_UERR01;

    while( (rUFSTAT1&0xf) >0 )
    {
	keyBuf[keyBufWrPt++]=rURXH1;
	if(keyBufWrPt==KEY_BUFLEN)
	    keyBufWrPt=0;
    }
}




?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99re这里只有精品首页| 欧美三级日韩在线| 成人亚洲一区二区一| 亚洲精品写真福利| 一区二区三区中文在线| 日韩精品乱码免费| 久久99久久久久| 不卡一二三区首页| 欧美无乱码久久久免费午夜一区| 欧美久久久久久久久| 婷婷开心激情综合| 秋霞电影一区二区| 一区二区成人在线| 亚洲欧洲性图库| 日本一区二区电影| 久久女同性恋中文字幕| 中文字幕在线观看一区| 激情六月婷婷综合| 日韩av高清在线观看| 一区二区高清在线| 亚洲国产精品一区二区www| 国产一区二区三区综合| 国产片一区二区| 懂色av一区二区夜夜嗨| 国产寡妇亲子伦一区二区| 韩国成人在线视频| 懂色av一区二区在线播放| 欧美探花视频资源| 91精品国产一区二区三区香蕉| 色婷婷国产精品| 国产欧美视频一区二区三区| 亚洲第一成人在线| gogogo免费视频观看亚洲一| 日本一区二区三区视频视频| 日韩视频在线观看一区二区| 欧美大片一区二区| 欧美日韩精品一区视频| 欧美大黄免费观看| 91精品国产手机| 国产天堂亚洲国产碰碰| 中文一区一区三区高中清不卡| 久久亚洲综合色一区二区三区| 色诱视频网站一区| 91福利在线播放| 国产盗摄一区二区三区| 精品一区二区三区免费毛片爱| 亚洲制服丝袜一区| 国产精品69毛片高清亚洲| 91精品福利视频| 欧美色综合久久| 亚洲欧美一区二区三区国产精品| 亚洲精品乱码久久久久久黑人| 一区二区三区在线免费播放| 一区二区三区在线视频免费| 亚洲综合av网| 国产精品99久久久久久有的能看| 国产欧美日韩不卡| 麻豆传媒一区二区三区| 制服.丝袜.亚洲.中文.综合| 老司机精品视频线观看86 | 欧美国产1区2区| 丁香另类激情小说| 亚洲国产一区在线观看| 欧美精品色一区二区三区| 亚洲国产一二三| 欧美va亚洲va| 国产伦精品一区二区三区免费迷 | 欧美精品一区二区三区蜜臀 | 国产精品网曝门| 亚洲不卡一区二区三区| 成人黄色在线看| 国产精品美女久久久久久久| 99在线热播精品免费| 日本一区二区视频在线观看| 成人免费的视频| 亚洲欧美另类久久久精品2019| 精品久久国产老人久久综合| 亚洲综合久久久| 极品少妇xxxx精品少妇偷拍| 日本高清不卡aⅴ免费网站| 一区二区三区国产豹纹内裤在线| 国产丶欧美丶日本不卡视频| 国产精品看片你懂得| 欧美高清视频在线高清观看mv色露露十八| 亚洲女人****多毛耸耸8| 久久99精品久久久久久久久久久久| 在线观看www91| 中日韩av电影| 99久久综合狠狠综合久久| 亚洲高清在线精品| 91精品国产乱码久久蜜臀| 久久99热狠狠色一区二区| 日本色综合中文字幕| 欧美va亚洲va| 国产91高潮流白浆在线麻豆| 亚洲黄一区二区三区| 中文字幕欧美日韩一区| 精品精品欲导航| ww亚洲ww在线观看国产| 精品国产sm最大网站免费看 | 欧美精品一区视频| 国产a视频精品免费观看| 亚洲日本在线天堂| 欧美在线不卡一区| 美女爽到高潮91| 亚洲综合另类小说| 色综合天天做天天爱| 美腿丝袜在线亚洲一区| 国产欧美精品一区二区三区四区 | 亚洲第一搞黄网站| 日本高清不卡一区| 色天天综合久久久久综合片| 久久精品国产免费看久久精品| 欧美综合一区二区| 开心九九激情九九欧美日韩精美视频电影 | 成人午夜视频免费看| 91精品免费在线观看| 国产999精品久久久久久| 中文字幕制服丝袜一区二区三区| 精品一区二区三区久久| 国产精品国产成人国产三级| 欧美日韩国产片| 欧美精品久久一区二区三区 | 中文字幕在线播放不卡一区| 欧美高清精品3d| 一本色道**综合亚洲精品蜜桃冫| 欧美欧美欧美欧美| 亚洲精品在线三区| 国产人成一区二区三区影院| 天天影视涩香欲综合网| 中文字幕一区二区不卡 | 国产精品成人一区二区三区夜夜夜| 91久久久免费一区二区| 国产精品白丝jk黑袜喷水| 精品亚洲porn| 男女男精品网站| 蜜臀av一区二区在线观看| 亚洲欧美怡红院| 国产精品成人在线观看| 国产精品高潮呻吟| 欧美成人高清电影在线| 久久久电影一区二区三区| 久久综合久久99| 在线不卡免费欧美| 欧美日本一区二区三区四区| 国产精品成人网| 亚洲精品精品亚洲| 欧美日韩免费不卡视频一区二区三区| 九九九久久久精品| 亚洲精品国产精华液| 亚洲一区二区欧美| 美女任你摸久久 | 在线观看91视频| 制服丝袜亚洲色图| 欧美一区二区三区日韩| 久久久777精品电影网影网| 国产精品欧美一区喷水| 日产精品久久久久久久性色| 国产一区在线视频| 日本久久电影网| 91国产成人在线| 国产日产欧产精品推荐色| 一区二区久久久久久| 精品一区二区日韩| 色哟哟精品一区| 69堂国产成人免费视频| 国产精品欧美精品| 青青草国产成人99久久| 99视频一区二区| 欧美一区二区福利在线| 最新国产の精品合集bt伙计| 国产一区亚洲一区| 欧美丝袜自拍制服另类| 精品国产乱码久久久久久免费| 成人欧美一区二区三区1314| 蜜桃视频一区二区三区| 91片在线免费观看| 国产精品区一区二区三区| 美女性感视频久久| 欧美日韩免费观看一区二区三区| 国产午夜精品久久久久久免费视| 天涯成人国产亚洲精品一区av| 91色九色蝌蚪| 国产精品福利一区二区三区| 韩国成人精品a∨在线观看| 欧美猛男gaygay网站| 中文字幕字幕中文在线中不卡视频| 日本成人在线网站| 欧美精品一区二区三区蜜臀| 日韩电影免费在线观看网站| 91官网在线观看| 亚洲综合色噜噜狠狠| 在线观看三级视频欧美| 亚洲18影院在线观看| 欧美日韩亚洲综合一区二区三区| 亚洲欧美成人一区二区三区| 色欧美片视频在线观看在线视频| 亚洲视频狠狠干| 在线视频综合导航| 欧美aaa在线|