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

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

?? timer.c

?? MBA2440(s3c2440)的 源代碼文件 ARM920T內核。
?? C
?? 第 1 頁 / 共 2 頁
字號:
/******************************************************************************/
// 
// File Name   : Timer.c
// Description : S3C2440 Timer and Watch-dog Function Test 
// Version     : 0.2 
// Date    	   : July 3, 2003
//   0.0 : Programming start (February 27,2002 in 2410) -> SOP
//   0.1 : Modified by Y. H. Lee
//   0.2 : edited by junon
//   
/*******************************************************************************/

/* Include Files */
#include <string.h>
#include "def.h"
#include "option.h"
#include "2440addr.h"
#include "2440lib.h"
#include "timer.h"

/* Structure Define for DMA Special Registers */
typedef struct tagDMA
{
    volatile U32 DISRC;	    //0x0
    volatile U32 DISRCC;    //0x4
    volatile U32 DIDST;	    //0x8
    volatile U32 DIDSTC;    //0xc
    volatile U32 DCON;	    //0x10
    volatile U32 DSTAT;	    //0x14
    volatile U32 DCSRC;	    //0x18
    volatile U32 DCDST;	    //0x1c
    volatile U32 DMASKTRIG; //0x20
}DMA;

static volatile int dmaDone; 
int TestMode; 
extern U32 Pclk;


volatile int isWdtInt;

//=========================================================================
//
//  Timer input clock frequency = PCLK/{prescaler value+1}/{divider value}
//  {prescaler value} = 0 ~ 255, {divider value} = 2,4,8,16
//
//=========================================================================

/******************** Selection Routine for Timer Test ********************/ 
void * func_timer_test[][2]=
{	
	(void *)Test_TimerNormal, 			"Timer Normal    ",
	(void *)Test_TimerInt, 				"Timer Interrupt ",
	(void *)Test_TimerDma,				"Timer DMA       ",
	(void *)Test_WDT_IntReq, 			"WDT Interrupt   ",
	0,0
};


void Timer_Test(void)
{
	int i, sel;
	
	while(1)
	{
		i=0;
		Uart_Printf("+-----------------[ Timer test ]------------------+\n");
		while(1)
		{   //display menu
			Uart_Printf("| %2d:%s\n",i+1,func_timer_test[i][1]);
			i++;
			if((int)(func_timer_test[i][0])==0)	break;
		}
		Uart_Printf("| %2d:Previous menu\n", i+1);
		Uart_Printf("+-------------------------------------------------+\n");
		Uart_Printf(" Select the number to test : ");
		sel = Uart_GetIntNum();
		sel--;
		Uart_Printf("+-------------------------------------------------+\n\n\n");
		if(sel == i){
			return;
		}if(sel>=0 && (sel<((sizeof(func_timer_test)-1)/8)) ){
			( (void (*)(void)) (func_timer_test[sel][0]) )();
		}else{
			Uart_Printf("Wrong number seleted.. Try again!!\n\n\n");
		}
	}
	
}



/******************** PWM Timer Normal Operation Test ********************/
void Test_TimerNormal(void)
{
    int save_B,save_G,save_H,save_PB,save_PG,save_PH,save_MI;
    char key, toggle;
    
    /* Save Current Register related to PWM Port */
    //Save Current GPB, G, H Configure Registers 
    save_B  = rGPBCON;
    save_G  = rGPGCON;
    save_H  = rGPHCON;
    //Save Pull-Up Disable Register     
    save_PB = rGPBUP;
    save_PG = rGPGUP;
    save_PH = rGPHUP;
    //Save Miscellaneous Control Register 
    save_MI = rMISCCR;   
    
    /* Setting Port related to PWM */ 
    // PortB
    rGPBUP  = rGPBUP  & ~(0x1f)     | 0x1f; //GPB[4:0] Pull Up
    rGPBCON = rGPBCON & ~(0x3ff)    | 0x2 | 0x2 << 2 | 0x2 << 4 | 0x2 << 6 | 0x2 << 8; //TCKL0, TOUT[3:0]   
    // PortG
    rGPGUP  = rGPGUP  & ~(0x800)    | 0x800; //GPG11 Pull Up
    rGPGCON = rGPGCON & ~(0xc00000) | 0xc00000; //TCLK1 
    // PortH
    rGPHUP  = rGPHUP  & ~(0x200)    | 0x200; //GPH9 Pull Up
    rGPHCON = rGPHCON & ~(0x3<<18)  | (0x2<<18); //CLKOUT0    
    // Miscellaneous Control Register
    rMISCCR = rMISCCR & ~(0xf0)     | 0x40; //Select PCLK with CLKOUT0

    Uart_Printf("[Select Timer Test Setting]\n");
    Uart_Printf("a. Prescaler 1, 0: 0, Dead zone Disable, MUX 4~0: 1/2, (H/L)duty 50 \nb. Prescaler 1, 0: 8, Dead zone Enable, MUX 4~0: 1/16, (H/L)duty 50 \nc. (H/L)duty 0, TCNT =< TCMP, Inverter On\nd. TCLK0, TCLK1 Input Divider Test\n");
    Uart_Printf("Select [a ~ d]: \n");
        
    key = Uart_Getch();
    Uart_Printf("%c\n\n",key);    
	
	/* Timer Configuration Reg.0, 1(TCFG0, TCFG1) Setting */
	switch(key)
    {
        case 'a':
    		rTCFG0 = rTCFG0 & ~(0xffffff) | 0x00000; //Dead zone=0, Prescaler1=0, Prescaler0=0
           	rTCFG1 = 0x0; //All Interrupt, MUX 4 ~ 0: 1/2
            break;
        
        case 'b':    
            rTCFG0 = rTCFG0 & ~(0xffffff) | (0xc8)<<16 | (0x7)<<8 | (0x7); //Dead zone=0, Prescaler1=7, Prescaler0=7
			rTCFG1 = rTCFG1 & ~(0xffffff) | (0x3)<<16 | (0x3)<<12 | (0x3)<<8 | (0x3)<<4 | (0x3); //All Interrupt, MUX 4 ~ 0: 1/16
            break;
            
        case 'c':    
            rTCFG0 = rTCFG0 & 0x0;	//Dead zone=0, Prescaler1=0, Prescaler0=0
			rTCFG1 = rTCFG1 & 0x0;	//All Interrupt, MUX 4 ~ 0: 1/2
            Uart_Printf("(H/L)Duty 0, TCNT =< TCMP, Inverter On\n");
            break;
            
        case 'd':
    		rTCFG0 = rTCFG0 & ~(0xffffff) | 0x00000; //Dead zone=0, Prescaler1=0, Prescaler0=0
           	rTCFG1 = rTCFG1 & ~(0xffffff) | 0x4 | 0x4 << 4 | 0x4 << 8 | 0x4 << 12 | 0x4 << 16;	//All Interrupt, MUX 4 ~ 0: 1/2            
            Uart_Printf("TCLK0, TCLK1 Input Divider Test(if TCLK0, TCLK1=25.4MHZ)\n");
            break;
         
        default:
            rGPBCON = save_B; 
            rGPGCON = save_G;       
            rGPHCON = save_H;           
            rGPBUP  = save_PB;
            rGPGUP  = save_PG;
            rGPHUP  = save_PH;
            rMISCCR = save_MI;
            return;
    }
    
    Uart_Printf("[Prescaler0=%d]\n",rTCFG0 & 0xff);
	Uart_Printf("[Prescaler1=%d]\n",(rTCFG0 & 0xff00) >> 8);
	Uart_Printf("[Dead Zone length=%d]\n",(rTCFG0 & 0xff0000) >> 16);
	Uart_Printf("[DMA mode=");
	switch((rTCFG1 & 0xf00000)>>20){
		case 0:
			Uart_Printf("No select(all interrupt)]\n");
			break;
		case 1:
       		Uart_Printf("Timer0]\n");
			break;
		case 2:
			Uart_Printf("Timer1]\n");
			break;
		case 3:
			Uart_Printf("Timer2]\n");
			break;
		case 4:
			Uart_Printf("Timer3]\n");
			break;
		case 5:
			Uart_Printf("Timer4]\n");
			break;
		default:
			Uart_Printf("unknown.. 0x%x]\n", (rTCFG1 & 0xf00000)>>20);
			break;
	}
	switch((rTCFG1 & 0xfffff)){
		case 0x0:
			Uart_Printf("MUX0 ~ MUX4 input: 1/2\n");
			break;
		case 0x11111:
			Uart_Printf("MUX0 ~ MUX4 input: 1/4\n");
			break;
		case 0x22222:
			Uart_Printf("MUX0 ~ MUX4 input: 1/8\n");
			break;
		case 0x33333:
			Uart_Printf("MUX0 ~ MUX4 input: 1/16\n");
			break;
		case 0x44444:
		case 0x55555:
		case 0x66666:
		case 0x77777:
			Uart_Printf("MUX0 ~ MUX4 input: External TCLK1\n");
			break;
		default:
			Uart_Printf("unkown value.. 0x%x\n", rTCFG1 & 0xfffff);
			break;
	}

    rTCNTB0 = 2000;      
    rTCNTB1 = 4000;       
    rTCNTB2 = 5000;       
    rTCNTB3 = 10000;      
                                                
    rTCMPB0 =  2000 - 1000; //(H/L)duty 50%
    rTCMPB1 =  4000 - 2000;
    rTCMPB2 =  5000 - 2500;
    rTCMPB3 = 10000 - 5000;
	
	rTCON  = rTCON & ~(0xffffff) | 0x1<<1 | 0x1<<9 | 0x1<<13 | 0x1<<17 | 0x1<<21 ; //Manual update 
	
	
	Uart_Printf("###########################################\n");
	Uart_Printf("Timer Status Display\n");
	Uart_Printf("-------------------------------------------\n");
	switch(key)
	{
		case 'a':
     	rTCON   = rTCON & ~(0xffffff) | 0x599909;  //Auto reload, Inverter off, No operation, Start, Dead zone Disable
		break;
		
		case 'b':
     	rTCNTB0 = rTCNTB0 & ~(0xffff) | 500; //(1/(50.8MHz/8/16)) *  500 = 1.273 msec ( 793.8 Hz)
     	rTCMPB0 =  500 - 250; //(H/L)duty 50%
     	
     	rTCON = rTCON & ~(0xffffff) | 0x6aaa0a;  //Auto reload, Inverter off, Manual update, Stop, Dead zone Disable
    	rTCON = rTCON & ~(0xffffff) | 0x599909| (0x1) << 4;  //Auto reload, Inverter off, No operation, Start, Dead zone Enable
    	break;
    	
    	case 'c':
     	rTCNTB0 = rTCNTB0 & ~(0xffff) | 1000; 
     	rTCMPB0 =  1000;      
     	
     	rTCNTB1 = rTCNTB1 & ~(0xffff) | 1000; 
     	rTCMPB1 =  1000; 
     	
     	rTCNTB2 = rTCNTB2 & ~(0xffff) | 1000; 
     	rTCMPB2 =  1000; 
     	
     	rTCNTB3 = rTCNTB3 & ~(0xffff) | 1000; 
     	rTCMPB3 =  1000; 
     		
     	rTCON = rTCON & ~(0xffffff) | 0x1 << 1 | 0x1 << 9 | 0x1 << 13 | 0x1 << 17 | 0x1 << 21;  //Auto reload disable, Inverter off, Manual update, Stop, Dead zone Disable
		rTCON = rTCON & ~(0xffffff) | 0x1 | 0x1 << 2 | 0x1 <<8 | 0x1 << 10| 0x1 << 12 | 0x1 << 14 | 0x1 << 16 | 0x1 << 18| 0x1 << 20;  //Auto reload enable, Inverter On, No Operation, Start, Dead zone Disable
		
		Uart_Printf("rTCNTB0 = Dec:%d, rTCNTO0 = Dec:%d, rTCMPB0 = Dec:%d\n",rTCNTB0, rTCNTO0, rTCMPB0);
    	break;
    
    	case 'd':
    
		rTCON   = rTCON & ~(0xffffff) | 0x599909;  //Auto reload, Inverter off, No operation, Start, Dead zone Disable
		break;
    
     	default:
        break;
    }

	if((key=='a') && (PCLK == Pclk))
    {
    	Uart_Printf("PCLK=%4.1fMhz(0x%x)\n", (float)PCLK/MEGA, PCLK);
    	Uart_Printf("TOUT0:16.67KHz(60usec)\n");
		Uart_Printf("TOUT1: 8.33KHz(120usec)\n");
		Uart_Printf("TOUT2: 6.66KHz(152usec)\n");
		Uart_Printf("TOUT3: 3.33KHz(300usec)\n");
		Uart_Printf("\nNow, Check PCLK freq. using Oscilloscope.\n");
	    Uart_Printf("Check TOUT0(CON13 43) using Oscilloscope.\n");
	    Uart_Printf("Check TOUT1(CON13 44) using Oscilloscope.\n");
	    Uart_Printf("Check TOUT2(CON14 43) using Oscilloscope.\n");
	    Uart_Printf("Check TOUT3(CON14 42) using Oscilloscope.\n");
    }
    else if((key=='b') && (PCLK == Pclk))
    {
		Uart_Printf("PCLK=%4.1fMhz(0x%x)\n", (float)PCLK/MEGA, PCLK);
    	Uart_Printf("TOUT0: 1.04KHz(960usec)\n");
		Uart_Printf("TOUT1: 1.04KHz(960usec)\n");
		Uart_Printf("TOUT2: 104.2Hz(9.6msec)\n");
		Uart_Printf("TOUT3: 52.8Hz(19.2msec)\n");
		Uart_Printf("\nNow, Check PCLK freq. using Oscilloscope.\n");
	    Uart_Printf("Check TOUT0(CON13 43) using Oscilloscope.\n");
	    Uart_Printf("Check TOUT1(CON13 44) using Oscilloscope.\n");
	    Uart_Printf("Check TOUT2(CON14 43) using Oscilloscope.\n");
	    Uart_Printf("Check TOUT3(CON14 42) using Oscilloscope.\n");
    }
    else if((key=='d') && (PCLK == Pclk)) 
    {
		Uart_Printf("You MUST Freq. signal to TCLK...\n");
		Uart_Printf("酒流 肯己登瘤 臼籃 何盒烙.. \n");
/*
        Uart_Printf("then Timer TOUT 0 : 0.0787 msec ( 12.70 KHz)\n");
        Uart_Printf("then Timer TOUT 1 : 0.1575 msec (  6.35 KHz)\n");
        Uart_Printf("then Timer TOUT 2 : 0.1969 msec (  5.08 KHz)\n");
        Uart_Printf("then Timer TOUT 3 : 0.3937 msec (  2.54 KHz)\n");
        Uart_Printf("\nNow, Check PCLK freq. using Oscilloscope.\n");
	    Uart_Printf("Check TOUT0(CON13 43) using Oscilloscope.\n");
	    Uart_Printf("Check TOUT1(CON13 44) using Oscilloscope.\n");
	    Uart_Printf("Check TOUT2(CON14 43) using Oscilloscope.\n");
	    Uart_Printf("Check TOUT3(CON14 42) using Oscilloscope.\n");
*/
    }
    
    Uart_Printf("###########################################\n\n");

    Uart_Printf("Check PWM (Pulse Width Modulation) Output using Oscilloscope\n");
    Uart_Printf("Press any key.\n\n\n");
    Uart_Getch();   
    
    /* Stop Timer0, 1, 2, 3, 4 */
    rTCON   = 0x0;	//One-shot, Inverter off, No operation, Dead zone disable, Stop Timer 
	
	rGPBCON = save_B; 
    rGPGCON = save_G;       
    rGPHCON = save_H;    
    rGPBUP  = save_PB;
    rGPGUP  = save_PG;
    rGPHUP  = save_PH;
    rMISCCR = save_MI;

}

/******************** Timer Interrupt 0/1/2/3/4 test ********************/										
volatile int variable0,variable1,variable2,variable3,variable4;
int j;

void Test_TimerInt(void)
{
	variable0 = variable1 = variable2 = variable3 = variable4 = -1;

	Uart_Printf("\n[Timer 0,1,2,3,4 Interrupt Test]\n\n");
	/* Timer0,1,2,3,4 Interrupt service is available */ 
    rINTMSK = ~(BIT_TIMER4 | BIT_TIMER3 | BIT_TIMER2 | BIT_TIMER1 | BIT_TIMER0);
	Uart_Printf("rINTMSK (After)  = 0x%8x   <= Timer4,3,2,1 Bit[14:10]\n",rINTMSK);

    /* Timer0,1,2,3,4 Interrupt Service Routine Entry Point Determine */ 
    pISR_TIMER0 = (int)Timer0Done;
    pISR_TIMER1 = (int)Timer1Done;
    pISR_TIMER2 = (int)Timer2Done;
    pISR_TIMER3 = (int)Timer3Done;
    pISR_TIMER4 = (int)Timer4Done;


    rTCFG0 = rTCFG0 & ~(0xffffff) | 0xff | 0xff<<8; //Dead zone=0,Prescaler1=255(0x0f),Prescaler0=255(0x0f)
	rTCFG1  =rTCFG1 & ~(0xffffff) | 0x033333; //All interrupt, ALL 1/16
	
    rTCNTB0 = 30000;
    rTCNTB1 = 30000;
    rTCNTB2 = 30000;
    rTCNTB3 = 30000;
    rTCNTB4 = 30000;
    
    rTCMPB0 = 15000;
    rTCMPB1 = 15000;
    rTCMPB2 = 15000;
    rTCMPB3 = 15000;

    rTCON  = rTCON & ~(0xffffff) | 0x1<<1 | 0x1<<9 | 0x1<<13 | 0x1<<17 | 0x1<<21 ; //Manual update 	

    rTCON  = rTCON & ~(0xffffff) | 0x1 | 0x1<<3 ; //Timer 0 Start, Auto-reload 
    rTCON  = rTCON | 0x1<<8 | 0x1<<11 ; //Timer 1 Start, Auto-reload
    rTCON  = rTCON | 0x1<<12 | 0x1<<15 ; //Timer 2 Start, Auto-reload
    rTCON  = rTCON | 0x1<<16 | 0x1<<19 ; //Timer 3 Start, Auto-reload
    rTCON  = rTCON | 0x1<<20 | 0x1<<22 ; //Timer 4 Start, Auto-reload
	//Auto reload,Inverter off,No operation,Dead zone disable,Start
	
    while(1) 	if(variable4 == 4)	break;
    Delay(1); //To compensate timer error(<1 tick period)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲女人的天堂| 精品美女在线观看| 91精品国产91久久综合桃花| 26uuu成人网一区二区三区| 亚洲嫩草精品久久| 久久97超碰色| 欧美日韩国产a| 亚洲欧美一区二区三区久本道91| 日本系列欧美系列| 欧洲一区二区三区在线| 国产蜜臀97一区二区三区| 亚洲国产成人在线| 久久精品二区亚洲w码| 在线视频一区二区三区| 日本一区二区视频在线| 看片的网站亚洲| 精品视频在线视频| 亚洲精品久久7777| av电影在线观看一区| 久久久久久久国产精品影院| 麻豆精品蜜桃视频网站| 欧美老肥妇做.爰bbww视频| 亚洲色图欧洲色图| 91视频你懂的| 中文字幕日韩精品一区| 99久久国产综合精品女不卡| 欧美国产日韩a欧美在线观看| 精品一区二区三区影院在线午夜| 欧美一区二区三区在线观看视频 | 亚洲女爱视频在线| 972aa.com艺术欧美| 中文字幕一区免费在线观看| 亚洲欧洲精品一区二区三区不卡 | 另类小说图片综合网| 欧美日韩综合在线免费观看| 亚洲色图欧美在线| 91官网在线免费观看| 亚洲成人动漫一区| 欧美无砖专区一中文字| 亚洲成人黄色影院| 日韩午夜在线观看视频| 看电影不卡的网站| 欧美激情一区二区三区四区 | 色猫猫国产区一区二在线视频| 国产精品免费免费| 色综合欧美在线视频区| 亚洲国产一二三| 欧美一卡二卡三卡四卡| 国产一区二区在线视频| 国产日产亚洲精品系列| 波多野结衣中文字幕一区 | 欧美精品第1页| 美女任你摸久久| 国产日韩欧美在线一区| 99精品视频一区| 亚洲18色成人| 精品国产自在久精品国产| 国产精品羞羞答答xxdd| 亚洲欧美一区二区三区国产精品 | 久久久精品免费网站| bt欧美亚洲午夜电影天堂| 亚洲国产一区二区视频| 久久伊人中文字幕| 色综合久久综合网97色综合| 日本大胆欧美人术艺术动态| 久久蜜臀中文字幕| 在线观看视频一区二区欧美日韩| 亚洲成人精品一区| 国产精品欧美一级免费| 欧美电影一区二区| 在线综合视频播放| 欧美日韩在线播放一区| 琪琪久久久久日韩精品| 国产日韩精品一区二区三区| 在线观看91视频| 高清不卡在线观看av| 亚洲一区二区三区四区不卡| 欧美精品一区二区三区蜜臀| 91久久线看在观草草青青| 激情久久久久久久久久久久久久久久| 国产精品天干天干在线综合| 制服丝袜亚洲精品中文字幕| 97精品久久久午夜一区二区三区 | 欧美一区二区三区男人的天堂| 国产成人av电影在线| 图片区小说区国产精品视频| 欧美经典一区二区| 欧美一级免费大片| 欧美在线视频你懂得| 波多野结衣精品在线| 精品一区二区在线看| 日韩福利电影在线观看| 亚洲综合免费观看高清在线观看| 亚洲精品一区二区三区福利| 欧美精品第一页| 欧美日韩中文字幕一区| 99热99精品| 顶级嫩模精品视频在线看| 亚洲免费在线播放| 日韩欧美一区二区三区在线| 91国产福利在线| 国产白丝精品91爽爽久久| 久久精品国产久精国产| 五月天国产精品| 亚洲国产va精品久久久不卡综合 | 91精品国产综合久久香蕉麻豆| 91香蕉视频污| 91视频免费看| 一本一道久久a久久精品| aaa国产一区| 99久久99精品久久久久久| 成人网页在线观看| 成人在线视频一区二区| 成人激情开心网| 国产精品一卡二卡在线观看| 国产精品88av| 国产在线精品视频| 国产麻豆欧美日韩一区| 国产精品亚洲а∨天堂免在线| 国产精品1024久久| 国产精品久久免费看| 91精品国产欧美一区二区18| 8x福利精品第一导航| 制服视频三区第一页精品| 51精品秘密在线观看| 欧美一区二区日韩一区二区| 日韩欧美亚洲另类制服综合在线| 欧美成人欧美edvon| 久久蜜臀精品av| 中文字幕中文字幕一区| 亚洲美腿欧美偷拍| 日韩成人dvd| 国产精品小仙女| 99r国产精品| 91精品国产日韩91久久久久久| 精品国产91久久久久久久妲己| 日本一区二区三区四区| 亚洲一区成人在线| 捆绑变态av一区二区三区| 国产aⅴ综合色| 91官网在线观看| www成人在线观看| 日韩一区在线免费观看| 视频一区在线视频| 国产成人综合网站| 在线观看91精品国产入口| 精品少妇一区二区三区在线播放| 国产欧美一区二区精品婷婷| 一区二区国产盗摄色噜噜| 偷拍一区二区三区| 成人午夜短视频| 欧美日本一道本| 国产蜜臀av在线一区二区三区| 亚洲成人777| 丁香啪啪综合成人亚洲小说| 欧美午夜精品免费| 国产喷白浆一区二区三区| 性感美女久久精品| aaa国产一区| 精品日韩欧美一区二区| 一区二区三区.www| 国产99久久久国产精品| 制服丝袜中文字幕一区| 亚洲欧美成人一区二区三区| 精品一二三四区| 欧美自拍丝袜亚洲| 国产精品乱子久久久久| 久久精品国产色蜜蜜麻豆| 在线精品视频免费播放| 日韩毛片一二三区| 亚洲成a人片在线不卡一二三区| 国产麻豆精品theporn| 欧美日韩一区二区三区不卡| 国产片一区二区| 韩国在线一区二区| 日韩三级伦理片妻子的秘密按摩| 一区二区三区在线看| 大桥未久av一区二区三区中文| 欧美一区二区在线免费观看| 亚洲国产成人tv| 99riav久久精品riav| 亚洲国产高清aⅴ视频| 精品亚洲aⅴ乱码一区二区三区| 欧美日韩国产小视频在线观看| 中文字幕中文字幕中文字幕亚洲无线| 国产在线精品一区二区不卡了 | 亚洲一区二区三区四区在线 | 成人免费在线观看入口| 韩国成人精品a∨在线观看| 91精品婷婷国产综合久久性色| 亚洲综合色成人| 欧美亚洲国产一区二区三区| 日韩美女久久久| 色综合天天天天做夜夜夜夜做| 国产三级精品在线| 国产精品一区二区在线观看不卡| 26uuu国产在线精品一区二区| 久久 天天综合| 久久久国产精品午夜一区ai换脸| 免费看黄色91|