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

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

?? timer.c

?? 2440 cpu test
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/******************************************************************************/
// 
// 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; 

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;
	
	while(1)
	{
		Uart_Printf("\n\n============== Timer Function Test ==============\n");

		i=0;
		Uart_Printf("\n");
		while(1)
		{   //display menu
			Uart_Printf("%2d:%s",i,func_timer_test[i][1]);
			i++;
			if((int)(func_timer_test[i][0])==0)
			{
				Uart_Printf("\n");
				break;
			}
			if((i%2)==0)
			Uart_Printf("\n");
		}

		Uart_Printf("\n=================================================\n");
	
		Uart_Printf("\nPress Enter key to exit : ");
		i = Uart_GetIntNum();
		if(i==-1) break;		// return.
		if(i>=0 && (i<((sizeof(func_timer_test)-1)/8)) )	// select and execute...
			( (void (*)(void)) (func_timer_test[i][0]) )();
	}
	
}



/******************** 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            
            
            Uart_Printf("Prescaler1=0, Prescaler0=0, Dead Zone Disable, MUX 4 ~ 0: 1/2, Duty 50% \n");
            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
                        
            Uart_Printf("Prescaler1=8, Prescaler0=8, Dead zone=200 Enable, MUX 4 ~ 0: 1/16, duty = 50%, Consider Dead zone effect\n");        		
            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;
    }
    
    //(1/(PCLK/(Prescaler+1)/divider) * count(Max 65535) = Timer clock (Frequency)
    //(1/(50.8MHz/1/2))  *  2000 = 0.0787 msec ( 12.7 KHz)
    //(1/(50.8MHz/1/2))  *  4000 = 0.1575 msec ( 6.35 KHz)
    //(1/(50.8MHz/1/2))  *  5000 = 0.1969 msec ( 5.080 KHz)
    //(1/(50.8MHz/1/2))  *  10000 = 0.3937 msec ( 2.54 KHz)
    
    //(1/(50.8MHz/8/16)) *  2000 = 5.039 msec ( 198.45 Hz)
    //(1/(50.8MHz/8/16)) *  4000 = 10.079 msec ( 99.216 KHz)
    //(1/(50.8MHz/8/16)) *  5000 = 12.598 msec ( 79.38 Hz) 
    //(1/(50.8MHz/8/16)) *  10000 = 25.197 msec ( 39.687 Hz)
                          
    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 
	
	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==(203200000/4)))  
    {
        
      	Uart_Printf("PCLK 50.8MHz, Timer TOUT0 : 0.0787 msec ( 12.70 KHz)\n");
      	Uart_Printf("PCLK 50.8MHz, Timer TOUT1 : 0.1575 msec (  6.35 KHz)\n");
        Uart_Printf("PCLK 50.8MHz, Timer TOUT2 : 0.1969 msec (  5.08 KHz)\n");
        Uart_Printf("PCLK 50.8MHz, Timer TOUT3 : 0.3937 msec (  2.54 KHz)\n");        
    }    
      
    else if(key=='b' && (PCLK==(203200000/4)))  
    {
        Uart_Printf("PCLK 50.8MHz, Timer TOUT0 :   1.273 msec (793.8 KHz)\n");
        Uart_Printf("PCLK 50.8MHz, Timer TOUT1 : /TOUT0 \n");
        Uart_Printf("PCLK 50.8MHz, Timer TOUT2 : 13.6094 msec ( 73.478 Hz)\n");
        Uart_Printf("PCLK 50.8MHz, Timer TOUT3 : 27.2189 msec ( 36.739 Hz)\n");                        
    }    
    
    else if(key=='d' && (PCLK==(203200000/4)))	 
    {
        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("\nProbe PCLK.\n");
    Uart_Printf("Probe TOUT0.\n");
    Uart_Printf("Probe TOUT1.\n");
    Uart_Printf("Probe TOUT2.\n");
    Uart_Printf("Probe TOUT3.\n");
    
    Uart_Printf("\nCheck PWM (Pulse Width Modulation) Output\n");
    Uart_Printf("Press any key.\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 = 0;variable1 = 0;variable2 = 0;variable3 = 0;variable4 = 0;
		
	/* 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;

    Uart_Printf("\n[Timer 0,1,2,3,4 Interrupt Test]\n\n");

    rTCFG0 = rTCFG0 & ~(0xffffff) | 0xff | 0xff<<8; //Dead zone=0,Prescaler1=255(0x0f),Prescaler0=255(0x0f)
    rTCFG1  =rTCFG1 & ~(0xffffff) | 0x001233; //All interrupt,Mux4=1/2,Mux3=1/4,Mux2=1/8,Mux1=1/16,Mux0=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 == 8)
     break;
    }
      
    //Delay(1); //To compensate timer error(<1 tick period)
    
    rTCON = 0x0; //Stop Timers
   
    if(variable4==8 && variable3==4 && variable2==2 && variable1==1 && variable0==1)
    {
        Uart_Printf("Timer 0,1,2,3,4 Auto-reload Interrupt Test => OK!\n");
    }        
    else
    {
        Uart_Printf("Timer 0,1,2,3,4 Auto-reload Interrupt Test => Fail............\n");
    }    
    Uart_Printf("Timer0: %d (=1)\nTimer1: %d (=1)\nTimer2: %d (=2)\nTimer3: %d (=4)\nTimer4: %d (=8)\n",
        variable0,variable1,variable2,variable3,variable4);        
	
	/* OneShot Test */
  	variable0 = 0;variable1 = 0;variable2 = 0;variable3 = 0;variable4 = 0;
  	
  	rTCON   = rTCON & ~(0xffffff) | 0x6aaa0a;         
  	//Auto reload, Inverter off, Manual update, Dead zone disable, Stop  
    rTCON   = rTCON & ~(0xffffff) | 0x1 |(0x1)<<8| (0x1)<<12 | (0x1)<<16 | (0x1)<<20 ; 
    //T0,1,2,3,4= One-shot,Inverter off,No operation,Dead zone disable,Start

	while(variable0 == 0);     

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲人精品一区| 欧美老女人第四色| 麻豆国产一区二区| 精品久久久久久久久久久久包黑料| 欧美亚洲国产bt| 91麻豆免费视频| 国产成人精品免费| 国产一区二区三区不卡在线观看| 免费三级欧美电影| 麻豆91免费看| 国产一区在线不卡| 国产裸体歌舞团一区二区| 久久91精品国产91久久小草| 久久福利资源站| 国产一区二区按摩在线观看| 国产成人av一区| 91理论电影在线观看| 欧美在线|欧美| 欧美一区二区三区啪啪| 精品剧情v国产在线观看在线| 精品国产伦一区二区三区观看体验| 日韩欧美美女一区二区三区| 久久久久久久久久久电影| 国产精品国产三级国产aⅴ入口| 国产精品久久久久一区二区三区共 | 97se亚洲国产综合自在线不卡 | 国产精品久久久久aaaa樱花| 亚洲欧美综合另类在线卡通| 亚洲一区二区三区影院| 日本女优在线视频一区二区| 国产盗摄视频一区二区三区| 91一区二区三区在线播放| 欧美日韩在线精品一区二区三区激情| 制服视频三区第一页精品| 国产午夜亚洲精品午夜鲁丝片| 中文成人综合网| 亚洲一卡二卡三卡四卡| 黄色日韩三级电影| 色婷婷久久久久swag精品| 欧美一区二区私人影院日本| 国产午夜亚洲精品羞羞网站| 亚洲午夜激情网站| 国产精品综合网| 欧美日韩视频不卡| 国产日韩一级二级三级| 偷偷要91色婷婷| 91免费版pro下载短视频| 精品国产伦一区二区三区观看方式 | 午夜私人影院久久久久| 国产.欧美.日韩| 久久综合色天天久久综合图片| 中文字幕中文在线不卡住| 日本少妇一区二区| 91久久免费观看| 久久精品人人做人人综合| 亚洲bt欧美bt精品| 一本久久精品一区二区| 欧美激情自拍偷拍| 精品一区二区三区在线播放视频 | 91成人免费电影| 亚洲精品一区二区精华| 日韩在线播放一区二区| 91免费看`日韩一区二区| 久久久欧美精品sm网站| 日本亚洲三级在线| 欧洲av在线精品| 国产精品久久三| 国产真实乱对白精彩久久| 欧美高清视频一二三区| 亚洲精品日韩一| 97久久精品人人爽人人爽蜜臀| 久久尤物电影视频在线观看| 免费亚洲电影在线| 欧美一级欧美三级| 亚洲chinese男男1069| 精品视频一区 二区 三区| 亚洲男人天堂av| 在线中文字幕一区二区| 一区二区三区免费在线观看| 97久久精品人人爽人人爽蜜臀| 国产精品国产三级国产普通话99| 国产成人亚洲精品青草天美| 欧美大胆一级视频| 另类小说图片综合网| 日韩欧美国产wwwww| 麻豆精品一区二区av白丝在线| 在线成人av网站| 久久精品国产一区二区| 亚洲精品一区二区三区精华液 | 一本一道久久a久久精品| 亚洲天天做日日做天天谢日日欢 | 日韩欧美成人一区二区| 经典三级一区二区| 精品国产成人系列| 欧美综合久久久| 一区二区三区高清不卡| 欧美美女一区二区在线观看| 久久成人18免费观看| 国产午夜三级一区二区三| 粉嫩av一区二区三区| 亚洲人123区| 欧美一区二区三区四区在线观看| 国模大尺度一区二区三区| 国产精品另类一区| 91福利精品第一导航| 美女视频黄 久久| 中文字幕视频一区二区三区久| 日本福利一区二区| 久久精品久久99精品久久| 亚洲国产岛国毛片在线| fc2成人免费人成在线观看播放| 亚洲精品视频一区| 精品久久久久一区二区国产| 成人性视频网站| 亚洲第一在线综合网站| 国产日韩欧美一区二区三区乱码 | 久久久91精品国产一区二区精品| 丁香啪啪综合成人亚洲小说| 亚洲另类在线视频| 日韩欧美国产一二三区| 99久久精品国产导航| 久久99精品久久久| 亚洲精品成人少妇| 国产午夜精品理论片a级大结局 | 精品黑人一区二区三区久久 | 亚洲午夜精品久久久久久久久| 精品免费99久久| 色噜噜偷拍精品综合在线| 卡一卡二国产精品| 亚洲一区二区av在线| 国产亚洲一区二区三区四区 | 国产成人h网站| 视频在线在亚洲| 亚洲精品日韩专区silk| 久久久99久久精品欧美| 欧美美女网站色| 91麻豆精品秘密| 丰满放荡岳乱妇91ww| 麻豆精品在线播放| 天堂一区二区在线| 亚洲美女一区二区三区| 国产午夜亚洲精品午夜鲁丝片| 91精品国产综合久久蜜臀| 色综合久久久网| caoporen国产精品视频| 国产精品 日产精品 欧美精品| 国产a精品视频| 精品亚洲免费视频| 欧美bbbbb| 午夜亚洲福利老司机| 一区二区三区久久| 亚洲最快最全在线视频| 国产精品久久一级| 中文字幕制服丝袜成人av | 国产精品视频免费| 久久精品免费在线观看| www亚洲一区| 日韩亚洲欧美成人一区| 91精品国产麻豆| 欧美一区二区大片| 日韩一区二区在线看片| 欧美一区二区三区四区久久| 51久久夜色精品国产麻豆| 91精品国产91综合久久蜜臀| 欧美一区二区三区在线电影| 欧美一区二区精品| 精品国产成人在线影院| 久久久久88色偷偷免费| 国产欧美日韩精品在线| 国产精品不卡在线观看| 一区二区三区四区不卡视频| 一区二区免费视频| 人人精品人人爱| 极品瑜伽女神91| 国产成人av影院| 一本大道久久a久久精品综合| 色婷婷综合久久久| 欧美疯狂性受xxxxx喷水图片| 337p亚洲精品色噜噜狠狠| 精品欧美乱码久久久久久1区2区| 久久精品人人做人人爽人人| 中文字幕在线一区免费| 午夜精品123| 国产一区二区三区精品视频| 国产sm精品调教视频网站| 色综合激情五月| 3d动漫精品啪啪一区二区竹菊| 26uuu精品一区二区| 日韩一区日韩二区| 欧美aaa在线| 成人丝袜高跟foot| 欧美蜜桃一区二区三区| 国产日韩高清在线| 亚洲成人激情综合网| 国内外成人在线视频| 色久综合一二码| 久久久久久免费网| 午夜视频一区在线观看| 99在线精品免费| 精品日本一线二线三线不卡|