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

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

?? udisk.c

?? 單片機(jī)編程語(yǔ)言 51單片機(jī)讀寫(xiě)U盤(pán)例程 U盤(pán)作為數(shù)據(jù)的載體目前已廣泛應(yīng)用于嵌入式行業(yè)
?? C
字號(hào):

//#include "stdafx.h"
//#include "CommPort.h"
//extern CCommPort Comm;
//#define SendResponse(buff,len)	Comm.SendData(buff, NULL, len, 10000, 1, 0, FALSE);  //發(fā)送數(shù)據(jù)

#include "config.h"
#include "string.h"
#include "udisk.h"


#ifndef NULL
#define NULL	0
#endif

#define MAX_FILE_SIZE 	512
#define WAIT_TIME_OUT	0x2fff


FHANDLE	g_handle={0xff,0};


CONTR_DISK	rwdisk;
void SendResponse(uint8 *buff,uint16 len);
void FreeFHandle(void);
void ReceOneChar(uint8 ReceChar);

/*********************************************************************************************************
** 函數(shù)名稱: wait_ack
** 功能描述: 等待應(yīng)答幀
**
** 輸 入: 無(wú)
** 輸 出: 正常應(yīng)答返回:TRUE,超時(shí)出錯(cuò)返回:FALSE
********************************************************************************************************/
uint8 wait_ack(void)
{
	uint32 i;
	rwdisk.state = 0;

	for(i=0;i<WAIT_TIME_OUT;i++)	// 軟件延時(shí)等待
	{
		if(0xff==rwdisk.state)
			return TRUE;
	}
	return FALSE;
}

/*
uint8 wait_ack(void)
{
	uint8	rt = TRUE ,ret;
	uint32 i;
	rwdisk.state = 0;
	uint8 tempbuff[512];
	while(0xff!=rwdisk.state)
	{
		ret = Comm.ReadBlock(tempbuff, 6,500);					   // 讀出數(shù)據(jù)
		if(ret==0)
		{
			for(i=0;i<6;i++)
				ReceOneChar(tempbuff[i]);
		}
		else
		{
			rt = FALSE;
			break;
		}
		
		if(rwdisk.rlen==0)
			break;
		ret = Comm.ReadBlock(tempbuff, rwdisk.rlen,500);					   // 讀出數(shù)據(jù)
		if(ret==0)
		{
			for(i=0; i<rwdisk.rlen; i++)
				ReceOneChar(tempbuff[i]);
		}
		else
		{
			rt = FALSE;
			break;
		}
	}
	return rt;
}
*/
//********************************************************************************************************
// 函數(shù)名稱:ReceOneChar
// 輸入?yún)?shù):ReceCharacter
// 輸出參數(shù):無(wú)
// 功能描述:接收一個(gè)字符處理
//           要求:接收到一個(gè)字符后立即傳入該函數(shù)處理。
//********************************************************************************************************
void ReceOneChar(uint8 ReceChar)
{
	static uint8 	HFNumber = 0;
	static uint8	HFBuffer[6];
	static uint16	DataLen;
	static uint8	state=0;

	if(rwdisk.state!=0)
		return;

	switch(state)
	{
		case 0:
			HFBuffer[HFNumber++] = ReceChar;
			if(HFBuffer[0]!='S')				// 
				if( HFNumber == 2 )
					if(HFBuffer[1]!=':')
						HFNumber = 0;
			if( HFNumber == 6 )
			{	HFNumber = 0;
				rwdisk.cmd 	= HFBuffer[2];
				rwdisk.cmds	= HFBuffer[3];
				DataLen = HFBuffer[4] + HFBuffer[5]*0x100;
				rwdisk.rlen = DataLen;
				rwdisk.wlen = 0;
				if(DataLen!=0)
				{
					state = 1;
				}
				else
				{
					rwdisk.state = 0xff;		// 設(shè)置狀態(tài)
				}
			}
			break;
		case 1:
			rwdisk.write_ptr[rwdisk.wlen++] = ReceChar;
			if(DataLen==rwdisk.wlen)
			{
				rwdisk.state = 0xff;		// 設(shè)置狀態(tài)
				state = 0;
			}
			break;
		default :
            break;
	}
}


void DriverIni(void)
{
   FreeFHandle();				// 釋入文件句柄
   rwdisk.state = 0xff;			// 不接收串口數(shù)據(jù)
}

/*********************************************************************************************************
** 函數(shù)名稱: GetFHandle
** 功能描述: 獲取文件操作包柄
**
** 輸 入: 無(wú)
** 輸 出: 無(wú)
********************************************************************************************************/
FHANDLE *GetFHandle(void)
{
	if(g_handle.fh==0xff)
		return &g_handle;
	else
		return NULL;
}

/*********************************************************************************************************
** 函數(shù)名稱: FreeFHandle
** 功能描述: 釋放文件操作句柄
**
** 輸 入: 無(wú)
** 輸 出: 無(wú)
********************************************************************************************************/
void FreeFHandle(void)
{
	g_handle.fh = 0xff;
	g_handle.fsize = 0;
}





/*********************************************************************************************************
** 函數(shù)名稱: GetDiskInfo
** 功能描述: 獲取系統(tǒng)信息
**
** 輸 入: sysinfptr:系統(tǒng)信息數(shù)據(jù)結(jié)構(gòu)指針
** 輸 出: 正常設(shè)置返回:TRUE,出錯(cuò)返回:FALSE
********************************************************************************************************/
uint8 GetDiskInfo(SYSINF *sysinfptr)
{
	uint8	reqbuff[14];
	
	reqbuff[0] = 'U';	reqbuff[1]= ':';	reqbuff[2] = 0x00;
	reqbuff[3] = 0;		reqbuff[4] = 0;	reqbuff[5] = 0;
	SendResponse(reqbuff,6);		// 發(fā)送命令請(qǐng)求幀
	sysinfptr->DiskIn = 0;			//  標(biāo)記U盤(pán)不存在
	rwdisk.write_ptr = reqbuff;

	if(wait_ack())					// 等待應(yīng)答
	{
		if(rwdisk.cmds==0)
		{	sysinfptr->Baud = reqbuff[0];
			sysinfptr->Year = reqbuff[1];
			sysinfptr->Month= reqbuff[2];
			sysinfptr->Dom = reqbuff[3];
			sysinfptr->Hour = reqbuff[4];
			sysinfptr->Min = reqbuff[5];
			sysinfptr->Sec = reqbuff[6];
				
			sysinfptr->DiskIn= reqbuff[7];
			sysinfptr->FH.fh= reqbuff[8];
			sysinfptr->FH.fsize= reqbuff[9]+
						reqbuff[10]*0x100+
						reqbuff[11]*0x10000+
						reqbuff[12]*0x1000000;
			sysinfptr->version = reqbuff[13];
			return	TRUE;
		}
	}
	
	return	FALSE;
}

/*********************************************************************************************************
** 函數(shù)名稱: SetDiskInfo
** 功能描述: 設(shè)置系統(tǒng)信息
**
** 輸 入: sysinfptr:系統(tǒng)信息數(shù)據(jù)結(jié)構(gòu)指針
** 輸 出: 正常設(shè)置返回:TRUE,出錯(cuò)返回:FALSE
********************************************************************************************************/
uint8  SetDiskInfo(SYSINF *sysinfptr)
{
	uint8	reqbuff[13];
	reqbuff[0] = 'U';	reqbuff[1]= ':';	reqbuff[2] = 0x01;
	reqbuff[3] = 0;		reqbuff[4] = 7;	reqbuff[5] = 0;
	
	reqbuff[6] = sysinfptr->Baud ;
	reqbuff[7] = sysinfptr->Year ;
	reqbuff[8] = sysinfptr->Month;
	reqbuff[9] = sysinfptr->Dom;
	reqbuff[10] = sysinfptr->Hour;
	reqbuff[11] = sysinfptr->Min;
	reqbuff[12] = sysinfptr->Sec;
				
	SendResponse(reqbuff,13);		// 發(fā)送命令請(qǐng)求幀
	
	rwdisk.write_ptr = reqbuff;
	if(wait_ack())// 等待應(yīng)答
	{
		if(rwdisk.cmds==0)
		{	
			return	TRUE;
		}
	}
	
	return	FALSE;
}

/*********************************************************************************************************
** 函數(shù)名稱: FileOpen
** 功能描述: 以指定方式打開(kāi)文件
**
** 輸 入: DirFileName:用戶使用的文件名
** 輸 出: 文件句柄,NULL為不能打開(kāi)
**	   非零值為打開(kāi)文件的指針
**
********************************************************************************************************/
        FHANDLE *FileOpen(char *DirFileName)
{
	uint8	reqbuff[6];
	uint8	namelen;
	FHANDLE	*handle;
	handle = GetFHandle();
	if(handle==NULL)				// 沒(méi)有可用的包柄
		return handle;
	reqbuff[0] = 'U';reqbuff[1]= ':';
	reqbuff[2] = 0x10;reqbuff[3] = 0xff;
	namelen = strlen(DirFileName);			// 獲取文件名字符串長(zhǎng)度
	reqbuff[4] = namelen; reqbuff[5] = 0;
	
	SendResponse(reqbuff,6);			// 發(fā)送命令請(qǐng)求幀
	SendResponse((uint8*)DirFileName,namelen);	// 發(fā)送命令請(qǐng)求幀
	
	rwdisk.write_ptr = reqbuff;
	
	if(wait_ack())// 等待應(yīng)答
	{
		if(rwdisk.cmds==0)
		{	handle->fh = reqbuff[0];
			handle->fsize = reqbuff[1]+
					reqbuff[2]*0x100+
					reqbuff[3]*0x10000+
					reqbuff[4]*0x1000000;	
		}
		else
			handle = NULL;
	}
	else	
		handle = NULL;
		
	return handle;
}

/*********************************************************************************************************
** 函數(shù)名稱: FileClose
** 功能描述: 關(guān)閉指定文件
**
** 輸 入: Handle:文件句柄
**
** 輸 出: RETURN_OK:成功
**        其它參考fat.h中關(guān)于返回值的說(shuō)明 
********************************************************************************************************/
uint8 FileClose(void)
{
	uint8 	reqbuff[6];
	
	reqbuff[0] = 'U';	reqbuff[1]= ':';	reqbuff[2] = 0x12;
	reqbuff[3] = 0;		reqbuff[4] = 0;		reqbuff[5] = 0;
	
	FreeFHandle();
	rwdisk.write_ptr = reqbuff;
	SendResponse(reqbuff,6);		// 發(fā)送命令請(qǐng)求幀
	
	if(wait_ack())// 等待應(yīng)答
	{
		
		return rwdisk.cmds;
	}
	else
		return	0xf0;				// 沒(méi)應(yīng)答
	
}

/*********************************************************************************************************
** 函數(shù)名稱: S_FileWrite
** 功能描述: 寫(xiě)文件
**
** 輸 入: Buf:要寫(xiě)的數(shù)據(jù)
**        Size:要寫(xiě)的字節(jié)數(shù)
**        Handle:文件句柄
** 輸 出: 實(shí)際寫(xiě)的字節(jié)數(shù)
********************************************************************************************************/
uint16	S_FileWrite(void *Buf, uint16 Size, FHANDLE *Handle)
{
	uint8	reqbuff[10];
	if(Handle==NULL)	return	0;
	reqbuff[0] = 'U';reqbuff[1]= ':';	reqbuff[2] = 0x20;
	if(Handle->fh!=0xff) reqbuff[3] = Handle->fh;
	else return	0;
	reqbuff[4] = (uint8)Size;
	reqbuff[5] = (uint8)(Size/0x100);
	rwdisk.write_ptr = &reqbuff[6];

	SendResponse(reqbuff,6);		// 發(fā)送命令請(qǐng)求幀
	SendResponse((uint8*)Buf,Size);		// 發(fā)送命令請(qǐng)求幀

/*	
	uint8	tempbuf[512+6];
	memcpy(tempbuf,reqbuff,6); 
	memcpy(tempbuf+6,Buf,Size); 
	SendResponse(tempbuf,6+Size);
*/

	if(wait_ack())// 等待應(yīng)答
	{	if(rwdisk.cmds!=0)
			return 0;
	}
	else	
		return 0;
	return (uint16)(reqbuff[6]+reqbuff[7]*0x100); // reqbuff[8],reqbuff[9] 不處理 
}

/*********************************************************************************************************
** 函數(shù)名稱: FileWrite
** 功能描述: 寫(xiě)文件
**
** 輸 入: Buf:要寫(xiě)的數(shù)據(jù)
**        Size:要寫(xiě)的字節(jié)數(shù)
**        Handle:文件句柄
** 輸 出: 實(shí)際寫(xiě)的字節(jié)數(shù)
********************************************************************************************************/
uint32 FileWrite(uint8 *Buf, uint32 Size, FHANDLE *Handle)
{
	uint32	allwrite=0;
	uint16  bewrite;
	
	while((Size/MAX_FILE_SIZE)>0)
	{
		Size -= MAX_FILE_SIZE;
		bewrite = S_FileWrite( Buf+allwrite,MAX_FILE_SIZE,Handle);
		if(bewrite == MAX_FILE_SIZE)
		{
			allwrite += bewrite;
		}
		else	// 寫(xiě)文件出錯(cuò)
		{
			return allwrite;
		}
	}

	bewrite = 0;
	if(Size)
	{
		bewrite = S_FileWrite(Buf+allwrite,(uint16) Size,Handle);
	}

	return allwrite+bewrite;
}

/*********************************************************************************************************
** 函數(shù)名稱: FileRead
** 功能描述: 讀取文件
**
** 輸 入: Buf:保存讀回的數(shù)據(jù)
**        Size:要讀的字節(jié)數(shù)
**        Handle:文件句柄
** 輸 出: 實(shí)際讀到的字節(jié)數(shù)
********************************************************************************************************/
uint16 S_FileRead(void *Buf, uint16 Size, FHANDLE *Handle)
{
	uint8	reqbuff[10];
	if(Handle==NULL)	return	0;
	reqbuff[0] = 'U';reqbuff[1]= ':';	reqbuff[2] = 0x30;
	if(Handle->fh!=0xff) reqbuff[3] = Handle->fh;
	else return	0;
	reqbuff[4] = 4;
	reqbuff[5] = 0;
	reqbuff[6] = (uint8)Size;
	reqbuff[7] = (uint8)(Size/0x100);
	reqbuff[8] = 0;
	reqbuff[9] = 0;
	
	rwdisk.write_ptr = (uint8*)Buf;
	SendResponse(reqbuff,10);		// 發(fā)送命令請(qǐng)求幀

	
	if(wait_ack())// 等待應(yīng)答
	{	if(rwdisk.cmds!=0)
			return 0;
	}
	else	return 0;
	return (uint16)rwdisk.wlen;
}

/*********************************************************************************************************
** 函數(shù)名稱: FileRead
** 功能描述: 讀取文件
**
** 輸 入: Buf:保存讀回的數(shù)據(jù)
**        Size:要讀的字節(jié)數(shù)
**        Handle:文件句柄
** 輸 出: 實(shí)際讀到的字節(jié)數(shù)
********************************************************************************************************/
uint32 FileRead(uint8 *Buf, uint32 Size, FHANDLE *Handle)
{
	uint32	allread=0;
	uint16  beread;
	
	while((Size/MAX_FILE_SIZE)>0)
	{
		Size -= MAX_FILE_SIZE;
		beread = S_FileRead( Buf+allread,MAX_FILE_SIZE,Handle);
		if(beread==MAX_FILE_SIZE)
		{
			allread += beread;
		}
		else	// 寫(xiě)文件出錯(cuò)
		{
			return allread;
		}
	}
	beread = 0;
	if(Size)
	{
		beread = S_FileRead(Buf+allread,(uint16) Size,Handle);
	}
	return allread+beread;
}



/*********************************************************************************************************
** 函數(shù)名稱: FileSeek
** 功能描述: 移動(dòng)文件讀\寫(xiě)位置
**
** 輸 入: Handle:文件句柄
**        offset:移動(dòng)偏移量
**        Whence:移動(dòng)模式SEEK_SET:從文件頭計(jì)算SEEK_CUR:從當(dāng)前位置計(jì)算SEEK_END:從文件尾計(jì)算
** 輸 出: 成功返回0
**         出錯(cuò)返回非0值
********************************************************************************************************/
uint8 FileSeek(FHANDLE *Handle, int32 offset, uint8 Whence)
{
	uint8	reqbuff[11];
	if(Handle==NULL)	return	PARAMETER_ERR;
	reqbuff[0] = 'U';	reqbuff[1]= ':';	reqbuff[2] = 0x40;
	if(Handle->fh!=0xff) 
		reqbuff[3] = Handle->fh;
	else 
		return	PARAMETER_ERR;
	reqbuff[4] = 5;
	reqbuff[5] = 0;
	
	reqbuff[6] = offset & 0xff;
	reqbuff[7] = (offset>>8) & 0xff ;
	reqbuff[8] = (offset>>16) & 0xff;
	reqbuff[9] = (offset>>24) & 0xff;
	
	reqbuff[10] = Whence;

	rwdisk.write_ptr = reqbuff;
	SendResponse(reqbuff,11);		// 發(fā)送命令請(qǐng)求幀
	
	if(wait_ack())// 等待應(yīng)答
	{	
		return rwdisk.cmds;
	}
	else	
		return 0xff;
}

/*********************************************************************************************************
** 函數(shù)名稱: MakeDir
** 功能描述: 建立目錄
**
** 輸 入: Path:路徑名
**
** 輸 出: 成功返回0
**         出錯(cuò)返回非0值
********************************************************************************************************/
uint8 MakeDir(char *Path)
{
	uint8	reqbuff[6];
	uint8	namelen;
	uint8	rt;

	reqbuff[0] = 'U';reqbuff[1]= ':';
	reqbuff[2] = 0x50;reqbuff[3] = 0xff;
	namelen = strlen(Path);					// 獲取文件夾名字符串長(zhǎng)度
	reqbuff[4] = namelen; reqbuff[5] = 0;
	
	SendResponse(reqbuff,6);				// 發(fā)送命令請(qǐng)求幀
	SendResponse((uint8*)Path,namelen);		// 發(fā)送命令請(qǐng)求幀
	
	rwdisk.write_ptr = reqbuff;
	
	if(wait_ack())							// 等待應(yīng)答
	{
		rt = rwdisk.cmds;
	}
	else	
		rt = 0xff;
		
	return rt;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品成人悠悠色影视| **欧美大码日韩| 五月天激情小说综合| 欧美性色综合网| 在线精品国精品国产尤物884a| 欧美日精品一区视频| 一区二区三区不卡视频在线观看| 不卡的av电影在线观看| 精品噜噜噜噜久久久久久久久试看| 久久品道一品道久久精品| 色哟哟一区二区在线观看| 免费在线观看视频一区| 国产丝袜美腿一区二区三区| 色久优优欧美色久优优| 另类调教123区| 樱花草国产18久久久久| 蜜桃一区二区三区四区| 久久久午夜精品| 91精品在线麻豆| 91色九色蝌蚪| 99re视频精品| 国产成人精品免费| 精品一区二区三区的国产在线播放 | 久久青草国产手机看片福利盒子 | 国产91丝袜在线18| 欧美成人午夜电影| 国产成人午夜视频| 亚洲国产日日夜夜| 国产精品久久午夜夜伦鲁鲁| 欧美精品一区二区三区视频| 久久亚洲捆绑美女| 国产人伦精品一区二区| 久久女同性恋中文字幕| 99久免费精品视频在线观看 | 丝袜诱惑制服诱惑色一区在线观看| 欧美日韩五月天| 看片网站欧美日韩| 国产精品私人自拍| 欧美日韩视频不卡| 韩日av一区二区| 亚洲一区二区三区四区在线免费观看| 欧美日韩视频在线第一区| 国产一区二区三区精品视频| 亚洲激情男女视频| 国产精品欧美综合在线| 欧美一区二视频| 欧美吻胸吃奶大尺度电影 | 日本欧美一区二区| 亚洲国产精品自拍| 午夜视频久久久久久| 日韩和的一区二区| 麻豆一区二区三| 麻豆成人免费电影| 国产在线不卡一卡二卡三卡四卡| 麻豆一区二区三区| 精品一区二区三区的国产在线播放 | 国产精品久久久久久久久图文区 | 久久精品国产亚洲a| 久久久久久久久99精品| 久久久亚洲国产美女国产盗摄| 亚洲欧美另类图片小说| 麻豆国产精品官网| 欧美日韩中文一区| 国产精品国产三级国产aⅴ中文| 视频一区二区三区中文字幕| 成人教育av在线| 99精品国产一区二区三区不卡| 日韩一区二区免费在线观看| 日韩精品一区二区三区swag| 国产精品国产三级国产有无不卡 | 欧美色图免费看| 精品国产乱码久久久久久影片| 亚洲日本va午夜在线影院| 理论电影国产精品| 欧美精品乱码久久久久久按摩| 久久精品免视看| 蜜桃在线一区二区三区| 三级成人在线视频| 麻豆精品一区二区三区| 欧洲一区在线电影| 国产精品成人一区二区艾草| 久久av资源网| 欧美一区二区三区免费| 亚洲三级理论片| 97精品久久久午夜一区二区三区 | 亚洲国产日韩av| av动漫一区二区| 色狠狠色狠狠综合| 亚洲图片有声小说| 精品国产一区久久| aaa欧美色吧激情视频| 天天av天天翘天天综合网 | 亚洲激情自拍视频| 精品成人免费观看| 色偷偷88欧美精品久久久| 日本不卡视频一二三区| 26uuu精品一区二区三区四区在线| 丁香天五香天堂综合| 一区二区三区国产豹纹内裤在线| 日韩美女视频在线| 欧美亚洲综合网| 国产精品系列在线播放| 亚洲图片一区二区| 中文字幕巨乱亚洲| 91精品国产综合久久小美女| 成人ar影院免费观看视频| 免费看日韩精品| 亚洲激情一二三区| 国产精品国产自产拍在线| 精品国产髙清在线看国产毛片| 一本大道综合伊人精品热热| 国产·精品毛片| 久久99精品久久久久久| 日韩精品一二三四| 夜夜嗨av一区二区三区| 中文字幕一区二区三区蜜月| 国产欧美日韩精品在线| 精品少妇一区二区三区免费观看 | 欧美va日韩va| 色综合 综合色| 91亚洲国产成人精品一区二区三| 免费的成人av| 亚洲成人av资源| 亚洲欧美日韩国产中文在线| 久久美女艺术照精彩视频福利播放 | zzijzzij亚洲日本少妇熟睡| 日韩高清国产一区在线| 一区二区三区日韩在线观看| 欧美激情资源网| 欧美激情一区在线| 欧美高清在线精品一区| 日本一区二区电影| 国产午夜精品一区二区三区四区| 日韩欧美一区二区在线视频| 欧美日韩一区三区四区| 一本高清dvd不卡在线观看| 99久久精品国产一区二区三区| 国产精品一线二线三线| 99视频一区二区三区| 91麻豆国产香蕉久久精品| 成人精品gif动图一区| 国产成人在线视频网址| 成人91在线观看| 欧美三级一区二区| 欧美电影免费观看高清完整版 | 精品国产一二三区| 国产精品天天看| 亚洲午夜久久久久| 成人h动漫精品| 蜜臂av日日欢夜夜爽一区| 天堂资源在线中文精品| 亚洲一卡二卡三卡四卡 | 欧美v日韩v国产v| 久久午夜免费电影| 中文字幕av一区二区三区高| 精品国产污污免费网站入口| 欧美mv日韩mv国产网站app| 精品剧情v国产在线观看在线| 久久这里只有精品视频网| 久久久久久免费网| 亚洲人午夜精品天堂一二香蕉| 亚洲三级在线播放| 美女mm1313爽爽久久久蜜臀| 国产另类ts人妖一区二区| 成人av在线资源| 欧美日韩日日夜夜| 国产午夜精品美女毛片视频| 中文字幕一区二区三区在线观看 | 日韩电影一二三区| 国产91在线观看| 在线播放日韩导航| 国产精品天天摸av网| 亚洲成va人在线观看| 国产1区2区3区精品美女| 欧美人妇做爰xxxⅹ性高电影| 日韩欧美一二区| 亚洲大型综合色站| 国产经典欧美精品| 日韩欧美亚洲国产另类| 亚洲一级在线观看| 99re66热这里只有精品3直播| 精品第一国产综合精品aⅴ| 一区二区三区蜜桃网| 成人理论电影网| 久久精品亚洲麻豆av一区二区 | 香蕉影视欧美成人| 99精品欧美一区二区蜜桃免费| 日韩免费福利电影在线观看| 亚洲宅男天堂在线观看无病毒| 成人一区二区三区视频| 精品人在线二区三区| 日日嗨av一区二区三区四区| 欧美视频一区二区三区四区| 亚洲同性gay激情无套| 成人动漫视频在线| 欧美激情在线免费观看| 国产福利一区二区| 久久久久97国产精华液好用吗| 国产一区二区三区视频在线播放| 日韩一区二区三区四区|