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

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

?? serialport.cpp

?? 串口通信程序,適用于手機的軟件更新
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
// SerialPort.cpp: implementation of the CSerialPort class.
//
//////////////////////////////////////////////////////////////////////
	
/////////////////////////////////////////////////////data////////////////////////////////////


#include "stdafx.h"
//#include "hasp.h" 
#include "SerialPort.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//#include "ComDebugDlg.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
UCHAR command[100];

UCHAR command_N[100] ={(char)0x80,(char)0x81,(char)0x82,(char)0x83,(char)0x84,(char)0x85,(char)0x86,(char)0x87,(char)0x88,(char)0x89
					  ,(char)0x1c,(char)0x64,(char)0x6f,(char)0x77,(char)0x6e,(char)0x6c,(char)0x6f
					  ,(char)0x61,(char)0x64,(char)0x20,(char)0x69,(char)0x64,(char)0x65,(char)0x6e
					  ,(char)0x74,(char)0x69,(char)0x66,(char)0x69,(char)0x63,(char)0x61,(char)0x74
					  ,(char)0x69,(char)0x6f,(char)0x6e,(char)0x20,(char)0x61,(char)0x72,(char)0x65
					  ,(char)0x61					////  command_N+10 ~~~~ command_N+38
					  ,(char)0x8a,(char)0x00,(char)0x02,(char)0x00,(char)0x00	//write
					  ,(char)0x00,(char)0x36,(char)0x00,(char)0x00	//add
					  ,(char)0x00,(char)0x02,(char)0x00,(char)0x00	//size command_N+39~~51
					  ,(char)0x86,(char)0x00,(char)0x02,(char)0x00,(char)0x00  //size
					  ,(char)0x00,(char)0x36,(char)0x00,(char)0x00		//add	command_N+52~~60


					  };

UCHAR command_O[100] ={(char)0xE0,(char)0xE1,(char)0xE2,(char)0xE3,(char)0xE4,(char)0xE5,(char)0xE6,(char)0xE7,(char)0xE8,(char)0xE9
					  ,(char)0x1c,(char)0x64,(char)0x6f,(char)0x77,(char)0x6e,(char)0x6c,(char)0x6f
					  ,(char)0x61,(char)0x64,(char)0x20,(char)0x69,(char)0x64,(char)0x65,(char)0x6e
					  ,(char)0x74,(char)0x69,(char)0x66,(char)0x69,(char)0x63,(char)0x61,(char)0x74
					  ,(char)0x69,(char)0x6f,(char)0x6e,(char)0x20,(char)0x61,(char)0x72,(char)0x65
					  ,(char)0x61					////  command_O+10 ~~~~ command_O+38
					  ,(char)0xEa,(char)0x00,(char)0x02,(char)0x00,(char)0x00	//write
					  ,(char)0x00,(char)0x36,(char)0x00,(char)0x00	//add
					  ,(char)0x00,(char)0x02,(char)0x00,(char)0x00	//size command_O+39~~51
					  ,(char)0xE6,(char)0x00,(char)0x02,(char)0x00,(char)0x00  //read size
					  ,(char)0x00,(char)0x36,(char)0x00,(char)0x00		//add	command_O+52~~60

					  };

UCHAR command_Z[100] ={(char)0xF0,(char)0xF1,(char)0xF2,(char)0xF3,(char)0xF4,(char)0xF5,(char)0xF6,(char)0xF7,(char)0xF8,(char)0xF9
					  ,(char)0x1c,(char)0x64,(char)0x6f,(char)0x77,(char)0x6e,(char)0x6c,(char)0x6f
					  ,(char)0x61,(char)0x64,(char)0x20,(char)0x69,(char)0x64,(char)0x65,(char)0x6e
					  ,(char)0x74,(char)0x69,(char)0x66,(char)0x69,(char)0x63,(char)0x61,(char)0x74
					  ,(char)0x69,(char)0x6f,(char)0x6e,(char)0x20,(char)0x61,(char)0x72,(char)0x65
					  ,(char)0x61					////  command_O+10 ~~~~ command_O+38
					  ,(char)0xFa,(char)0x00,(char)0x02,(char)0x00,(char)0x00	//write
					  ,(char)0x00,(char)0x36,(char)0x00,(char)0x00	//add
					  ,(char)0x00,(char)0x02,(char)0x00,(char)0x00	//size command_O+39~~51
					  ,(char)0xE6,(char)0x00,(char)0x02,(char)0x00,(char)0x00  //read size
					  ,(char)0x00,(char)0x36,(char)0x00,(char)0x00		//add	command_O+52~~60

					  };

UCHAR Band_command[100] ={(char)0x80,(char)0xFF,(char)0xFD,(char)0x02,(char)0x7C //460800
					     ,(char)0x20,(char)0xFF,(char)0xF2,(char)0x02,(char)0x11 //115200
					     };

UCHAR yaya[100] ={(char)0x3c,(char)0x69,(char)0x3c,(char)0x70,(char)0x00,(char)0x09,(char)0x11 //[0]-[6]
			,(char)0xE9,(char)0xE1							      //[7]-[8]
			,(char)0x1C,(char)0x64,(char)0x6F,(char)0x77,(char)0x6E,(char)0x6C,(char)0x6F //[9]-[15]
			,(char)0x61,(char)0x64,(char)0x20,(char)0x69,(char)0x64,(char)0x65,(char)0x6E //[16]-[22]
			,(char)0x74,(char)0x69,(char)0x66,(char)0x69,(char)0x63,(char)0x61,(char)0x74 //[23]-[29]
			,(char)0x69,(char)0x6F,(char)0x6E,(char)0x20,(char)0x61,(char)0x72,(char)0x65,(char)0x61}; //[30]-[37]
	////////////////////350 355 639 9A9C 855 859 UART1///////////////////////////
	/////////////////////////////////////////////////////////////////////////////
	UCHAR mj[100]   ={(char)0x44,(char)0xc7,(char)0x00,(char)0x56,(char)0x00,(char)0x06
		    ,(char)0x40,(char)0x07,(char)0x80,(char)0x00,(char)0x03,(char)0xff
		    ,(char)0xff,(char)0x80,(char)0x03,(char)0x40
			,(char)0xE0												//E0[16]
			,(char)0x00,(char)0xFF,(char)0xF9,(char)0x01,(char)0xF8 //5 [17~~21]
			,(char)0xe9												//e9 [22]
			,(char)0xe1												//e1 [23]
			,(char)0x1c,(char)0x64,(char)0x6f,(char)0x77,(char)0x6e,(char)0x6c //[24]
			,(char)0x6F,(char)0x61,(char)0x64,(char)0x20,(char)0x69,(char)0x64
			,(char)0x65,(char)0x6E,(char)0x74,(char)0x69,(char)0x66,(char)0x69
			,(char)0x63,(char)0x61,(char)0x74,(char)0x69,(char)0x6F,(char)0x6E
			,(char)0x20,(char)0x61,(char)0x72,(char)0x65,(char)0x61};   //[52]   29S
	/////////////////530  535 UART0//////////////////////////////////////////
	////////////////////////////////////////////////////////////////////////////
	UCHAR Block8M00[20] ={(char)0xea,(char)0x00,(char)0x01,(char)0x00,(char)0x00,(char)0x02
			   ,(char)0x00,(char)0x00,(char)0x00			//地址
			   ,(char)0x00,(char)0x01,(char)0x00,(char)0x00};	//數據大小
	UCHAR Block8M23[20] ={(char)0xea,(char)0x00,(char)0x01,(char)0x00,(char)0x00,(char)0x02
			   ,(char)0x23,(char)0x00,(char)0x00			//地址
			   ,(char)0x00,(char)0x01,(char)0x00,(char)0x00};	//數據大小
	UCHAR Block8M24[20] ={(char)0xea,(char)0x00,(char)0x01,(char)0x00,(char)0x00,(char)0x02 //535
			   ,(char)0x24,(char)0x00,(char)0x00			//地址
			   ,(char)0x00,(char)0x01,(char)0x00,(char)0x00};	//數據大小
	UCHAR Block8M25[20] ={(char)0xea,(char)0x00,(char)0x01,(char)0x00,(char)0x00,(char)0x02
			   ,(char)0x25,(char)0x00,(char)0x00			//地址
			   ,(char)0x00,(char)0x01,(char)0x00,(char)0x00};	//數據大小
	UCHAR Block8M56[20] ={(char)0xea,(char)0x00,(char)0x01,(char)0x00,(char)0x00,(char)0x02
			   ,(char)0x56,(char)0x00,(char)0x00			//地址
			   ,(char)0x00,(char)0x01,(char)0x00,(char)0x00};	//數據大小
	UCHAR Block80M00[20] ={(char)0xea,(char)0x00,(char)0x01,(char)0x00,(char)0x00,(char)0x00
			   ,(char)0x00,(char)0x00,(char)0x00			//地址
			   ,(char)0x00,(char)0x01,(char)0x00,(char)0x00};	//數據大小
	UCHAR Block80M24[20] ={(char)0xea,(char)0x00,(char)0x01,(char)0x00,(char)0x00,(char)0x00
			   ,(char)0x24,(char)0x00,(char)0x00			//地址
			   ,(char)0x00,(char)0x01,(char)0x00,(char)0x00};	//數據大小
	UCHAR Block80M56[20] ={(char)0xea,(char)0x00,(char)0x01,(char)0x00,(char)0x00,(char)0x00
			   ,(char)0x56,(char)0x00,(char)0x00			//地址
			   ,(char)0x00,(char)0x01,(char)0x00,(char)0x00};	//數據大小
	UCHAR Block8M3b[20] = {(char)0xea,(char)0x00,(char)0x01,(char)0x00,(char)0x00,(char)0x00
			   ,(char)0x3b,(char)0x00,(char)0x00			//地址
			   ,(char)0x00,(char)0x01,(char)0x00,(char)0x00};	//數據大小
	/****************************8M 8M 8M 8M********************************************/
	UCHAR Block16M00[20] ={(char)0xea,(char)0x00,(char)0x02,(char)0x00,(char)0x00
			   ,(char)0x00,(char)0x00,(char)0x00,(char)0x00			//地址
			   ,(char)0x00,(char)0x02,(char)0x00,(char)0x00};	//數據大小
	UCHAR Block16M36[20] ={(char)0xea,(char)0x00,(char)0x02,(char)0x00,(char)0x00
			   ,(char)0x00,(char)0x36,(char)0x00,(char)0x00			//地址
			   ,(char)0x00,(char)0x02,(char)0x00,(char)0x00};	//數據大小
	UCHAR Block16M74[20] ={(char)0xea,(char)0x00,(char)0x02,(char)0x00,(char)0x00
			   ,(char)0x00,(char)0x74,(char)0x00,(char)0x00			//地址
			   ,(char)0x00,(char)0x02,(char)0x00,(char)0x00};	//數據大小
	UCHAR Block16M76[20] ={(char)0xea,(char)0x00,(char)0x02,(char)0x00,(char)0x00
			   ,(char)0x00,(char)0x76,(char)0x00,(char)0x00			//地址
			   ,(char)0x00,(char)0x02,(char)0x00,(char)0x00};	//數據大小
	
/******************************************************************************************/
	UCHAR Block32M78[20] ={(char)0xea,(char)0x00,(char)0x02,(char)0x00,(char)0x00
			   ,(char)0x00,(char)0x78,(char)0x00,(char)0x00			//地址
			   ,(char)0x00,(char)0x02,(char)0x00,(char)0x00};	//數據大小	
	/**********************************16M 16M 16M 16M********************************/   
	
	/**********************************16M 16M 16M 16M*********************************/
	UCHAR TurnOff[20] ={(char)0xe8};//***************關機指令////////////
//////////////////////////////////////////////////////////////////////
//工作者線程,負責監視串行口
//CComDebugDlg sjj_mj;
UINT CommProcThread(LPVOID pParam)
{
	OVERLAPPED os;
	DWORD dwMask, dwTrans;
	COMSTAT ComStat;
	DWORD dwErrorFlags;
	
	CSerialPort *pSerialPort = (CSerialPort *)pParam;
	memset(&os, 0, sizeof(OVERLAPPED));
	os.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
	
	if(os.hEvent == NULL)
	{
		return (UINT)-1;
	}
	
	while(pSerialPort->m_bMonitoring)
	{
		ClearCommError(pSerialPort->m_hCom, &dwErrorFlags, &ComStat);
		
		if(ComStat.cbInQue)
		{
			WaitForSingleObject(pSerialPort->m_hCanReadEvent, INFINITE);
			ResetEvent(pSerialPort->m_hCanReadEvent);

			pSerialPort->RecvChar();

			continue;
		}
		
		dwMask = 0;
		
		if(!WaitCommEvent(pSerialPort->m_hCom, &dwMask, &os)) // 重疊操作
		{
			if(GetLastError() == ERROR_IO_PENDING)
			{//無限等待重疊操作結果
				GetOverlappedResult(pSerialPort->m_hCom, &os, &dwTrans, TRUE);
			}
			else
			{
				CloseHandle(os.hEvent);

				return (UINT)-1;
			}
		}
	}
	
	CloseHandle(os.hEvent);
	
	return 0;
}

CSerialPort::CSerialPort()
{
	m_hCom = NULL;
	m_bInitComOk = FALSE;
	m_bMonitoring = FALSE;
	m_pThread = NULL;
	m_nBaudRate = 9600;
	m_nByteSize = 8;
	m_nFlowCtrl = 0;
	m_nParity = 0;
	m_szPort = "COM1";
	m_nStopBits = 0;

	InitializeCriticalSection(&m_csComSync);

	//創建可讀數據事件對象,手工重置,初始化為有信號的
	if((m_hCanReadEvent = CreateEvent(NULL, TRUE, TRUE, NULL)) == NULL)
	{
		return;
	}
	
	memset(&m_osRead, 0, sizeof(OVERLAPPED));
	memset(&m_osWrite, 0, sizeof(OVERLAPPED));
	
	//為重疊讀創建事件對象,手工重置,初始化為無信號的
	if((m_osRead.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL)) == NULL)
	{
		return;
	}
	
	//為重疊寫創建事件對象,手工重置,初始化為無信號的
	if((m_osWrite.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL)) == NULL)
	{
		return;
	}
}

CSerialPort::~CSerialPort()
{
	CloseCom();
	
	DeleteCriticalSection(&m_csComSync);
	// 刪除事件句柄
	if(NULL != m_hCanReadEvent)
	{
		CloseHandle(m_hCanReadEvent);
	}
	
	if(NULL != m_osRead.hEvent)
	{
		CloseHandle(m_osRead.hEvent);
	}
	
	if(NULL != m_osWrite.hEvent)
	{
		CloseHandle(m_osWrite.hEvent);
	}

	m_CharList.RemoveAll();
}

/********************************************************************/
/**	功能:	初始化串口												*/
/**	參數:															*/
/**		nComPort--	串口號(1、2、3...)								*/
/**		nBaudRate--	波特率											*/
/**		nByteSize--	數據位											*/
/**		nStopBits--	停止位											*/
/**		nParity--	校檢方式										*/
/**	返回值:															*/
/**		TRUE--成功													*/
/**		FALSE--失敗													*/
/********************************************************************/
BOOL CSerialPort::InitComPort(	const int nComPort,
								const int nBaudRate,
								const int nByteSize,
								const int nStopBits,
								const int nParity
							 )
{
	COMMTIMEOUTS TimeOuts;

	m_nBaudRate = nBaudRate;
	m_nByteSize = nByteSize;
	m_nStopBits = nStopBits;
	m_nParity = nParity;
	m_szPort.Format(_T("\\\\.\\COM%d"), nComPort);

	CloseCom();

	m_bInitComOk = FALSE;
	m_hCom = CreateFile(m_szPort, GENERIC_READ | GENERIC_WRITE, 0, NULL,
		OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, NULL); // 重疊方式

	if(m_hCom == INVALID_HANDLE_VALUE)
	{
		AfxMessageBox("FALSE");
		return FALSE;
	}

	
	SetCommMask(m_hCom, EV_RXCHAR);
	

	// 把間隔超時設為最大,把總超時設為0將導致ReadFile立即返回并完成操作
	TimeOuts.ReadIntervalTimeout = MAXDWORD; 
	TimeOuts.ReadTotalTimeoutMultiplier = 0; 
	TimeOuts.ReadTotalTimeoutConstant = 0; 

	//設置寫超時以指定WriteCom成員函數中的
	//GetOverlappedResult函數的等待時間
	TimeOuts.WriteTotalTimeoutMultiplier = 0;
	TimeOuts.WriteTotalTimeoutConstant = 0;
	SetCommTimeouts(m_hCom, &TimeOuts);
	SetupComm(m_hCom, 13107, 13107);
	
	if(!ConfigCom())
	{
		AfxMessageBox("aa");
		CloseHandle(m_hCom);
		
		return FALSE;
	}
	
	m_bInitComOk = TRUE;

	

	return TRUE;
}
	
/********************************************************************/
/**	功能:	重新設置通訊方式										*/
/**	參數:															*/
/**		nBaudRate--	波特率											*/
/**		nByteSize--	數據位											*/
/**		nStopBits--	停止位											*/
/**		nParity--	校檢方式										*/
/**	返回值:															*/
/**		TRUE--成功													*/
/**		FALSE--失敗													*/
/********************************************************************/
BOOL CSerialPort::ResetComPort(	const int nBaudRate,
								const int nByteSize,
								const int nStopBits,
								const int nParity
								)
{
	if(!m_bInitComOk)
	{
		return FALSE;
	}

	m_nBaudRate = nBaudRate;
	m_nByteSize = nByteSize;
	m_nStopBits = nStopBits;
	m_nParity = nParity;

	if(!ConfigCom())
	{
		m_bInitComOk = FALSE;
		CloseHandle(m_hCom);
		
		return FALSE;
	}

	return TRUE;
}

/********************************************************************/
/**	功能:	從串口輸入緩沖區讀入一個字符							*/
/**	參數:															*/
/**		ch--讀到的字符												*/
/**	返回值:															*/
/**		TRUE--成功													*/
/**		FALSE--失敗													*/
/********************************************************************/
BOOL CSerialPort::ReadCom(char &chIn)
{
	if(!m_bInitComOk)
	{
		return FALSE;
	}

	if(m_CharList.GetCount() < 1)
	{
		return FALSE;
	}

	EnterCriticalSection(&m_csComSync);
	chIn = m_CharList.GetHead();

	m_CharList.RemoveHead();
	LeaveCriticalSection(&m_csComSync);

	return TRUE;
}

/********************************************************************/
/**	功能:	從串口輸入緩沖區讀入一個字符							*/
/**	參數:															*/
/**		ch--讀到的字符												*/
/**	返回值:															*/
/**		TRUE--成功													*/
/**		FALSE--失敗													*/
/********************************************************************/
BOOL CSerialPort::ReadCom(unsigned char &chIn)
{
	char chRead = 0;

	if(!ReadCom(chRead))
	{
		return FALSE;
	}

	chIn = chRead;

	return TRUE;
}

/********************************************************************/
/**	功能:	從串口輸入緩沖區讀取指定長度的字符						*/
/**	參數:															*/
/**		pszBuff--讀到的字符串										*/
/**	返回值:															*/
/**		DWORD類型--長度												*/
/********************************************************************/
DWORD CSerialPort::ReadCom(char *pszBuff, DWORD dwLength)
{
	if(!m_bInitComOk)
	{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人欧美一区二区三区黑人麻豆| 国产精品久久久久久久久免费樱桃| 久久影院视频免费| 亚洲综合男人的天堂| 成人综合婷婷国产精品久久| 欧美日本视频在线| 亚洲摸摸操操av| 成人午夜激情在线| 日韩视频一区在线观看| 亚洲国产精品欧美一二99| 国产一区二区伦理| 日韩精品一区二区三区视频| 一区二区三区在线不卡| 99精品视频一区二区| 国产三级精品三级在线专区| 老鸭窝一区二区久久精品| 在线电影院国产精品| 亚洲专区一二三| 91免费版pro下载短视频| 日本一区二区视频在线观看| 韩国视频一区二区| 日韩精品一区二区三区蜜臀| 美女mm1313爽爽久久久蜜臀| 69成人精品免费视频| 亚洲福利电影网| 欧美区一区二区三区| 天天免费综合色| 欧美日韩精品是欧美日韩精品| 一区二区三区在线影院| 91精品福利视频| 亚洲成人免费视| 欧美日韩精品一区二区三区 | 香蕉加勒比综合久久| 91福利国产精品| 亚洲最新视频在线观看| 欧美色精品天天在线观看视频| 亚洲一区成人在线| 91福利小视频| 丝袜亚洲另类欧美综合| 欧美一级搡bbbb搡bbbb| 久久99精品久久只有精品| 久久亚洲精品小早川怜子| 成人性生交大片免费看中文网站| 欧美国产精品久久| 色天使色偷偷av一区二区| 亚洲成人精品一区二区| 日韩欧美国产精品一区| 国产成人99久久亚洲综合精品| 国产精品欧美极品| 在线观看国产91| 日本麻豆一区二区三区视频| 精品99久久久久久| 成人白浆超碰人人人人| 亚洲毛片av在线| 日韩亚洲国产中文字幕欧美| 国产精品一区免费在线观看| 亚洲男同性恋视频| 日韩三级视频在线观看| yourporn久久国产精品| 亚洲国产精品久久久久婷婷884 | 亚洲国产精品久久人人爱| 日韩久久久久久| 99精品在线免费| 久久精品国产99国产| 中文字幕不卡的av| 欧美一区二区福利视频| 成人精品在线视频观看| 偷窥少妇高潮呻吟av久久免费| 精品88久久久久88久久久 | 国产黑丝在线一区二区三区| 亚洲欧美激情小说另类| 久久亚洲一级片| 精品视频免费看| 成人网页在线观看| 亚洲国产日日夜夜| 国产精品久久久久影院| 欧美一区二区三区在线观看 | 日韩女优电影在线观看| 白白色 亚洲乱淫| 国内精品国产成人国产三级粉色 | 国产伦理精品不卡| 亚洲成人自拍网| 中文字幕在线观看一区二区| 欧美区视频在线观看| 91麻豆福利精品推荐| 国产麻豆精品在线观看| 精油按摩中文字幕久久| 亚洲久草在线视频| 久久婷婷国产综合精品青草| 69堂成人精品免费视频| 91黄色免费版| av亚洲精华国产精华精华| 精品亚洲成a人| 婷婷综合五月天| 亚洲小少妇裸体bbw| 亚洲欧美在线观看| 国产欧美一区二区三区在线老狼| 日韩精品专区在线影院观看| 欧美精品tushy高清| 在线观看免费视频综合| 色天天综合久久久久综合片| 99久久精品国产精品久久| 国产精品一线二线三线精华| 蜜桃免费网站一区二区三区| 亚洲成人av电影在线| 一区二区三国产精华液| 亚洲综合视频在线| 亚洲午夜国产一区99re久久| 亚洲精选视频在线| 一区二区三区小说| 亚洲国产精品久久人人爱蜜臀| 亚洲综合色区另类av| 亚洲国产精品一区二区www | 欧美三级日韩三级| 欧美日韩一区二区三区四区| 欧美午夜片在线观看| 欧美丝袜自拍制服另类| 欧美日韩在线播放| 666欧美在线视频| 欧美一区二区三区日韩视频| 5月丁香婷婷综合| 日韩欧美高清dvd碟片| 精品嫩草影院久久| 中文字幕国产一区| 综合久久久久久| 亚洲综合男人的天堂| 视频在线观看一区| 国产自产视频一区二区三区| 成人一级黄色片| 99r精品视频| 欧美日韩夫妻久久| 337p粉嫩大胆噜噜噜噜噜91av| 精品久久久久久久久久久院品网 | 亚洲激情中文1区| 天堂av在线一区| 国产毛片精品视频| 91亚洲精品久久久蜜桃| 9191成人精品久久| 久久免费美女视频| √…a在线天堂一区| 亚洲成人av一区| 国产成人亚洲综合a∨猫咪| 91麻豆精品一区二区三区| 在线播放国产精品二区一二区四区| 欧美一二三四区在线| 国产精品久久久久久久午夜片| 一区二区不卡在线播放| 久久国产精品99精品国产| caoporen国产精品视频| 欧美精品亚洲一区二区在线播放| 久久久三级国产网站| 亚洲精品精品亚洲| 国产真实乱偷精品视频免| 99精品视频一区| 精品国产乱码久久久久久久久| 中文字幕日韩av资源站| 午夜电影网一区| 成人aaaa免费全部观看| 欧美日韩高清影院| 中文字幕一区二区三区四区不卡 | 日本美女视频一区二区| heyzo一本久久综合| 日韩欧美一二三区| 亚洲男同性视频| 国产电影精品久久禁18| 欧美剧在线免费观看网站| 国产精品久久久久久久久果冻传媒 | 日本午夜精品一区二区三区电影| 成人午夜电影小说| 欧美v国产在线一区二区三区| 亚洲日本免费电影| 懂色av一区二区在线播放| 91精品综合久久久久久| 亚洲少妇30p| 处破女av一区二区| 2020国产精品自拍| 美女国产一区二区三区| 欧美剧在线免费观看网站 | 欧美日韩国产一区二区三区地区| 国产精品久久久久aaaa| 国产乱对白刺激视频不卡| 欧美日韩一区二区三区不卡| 国产精品动漫网站| 国产精品夜夜爽| 精品少妇一区二区三区免费观看| 亚洲第一狼人社区| 欧美日韩一级二级三级| 亚洲精品成a人| 色欧美乱欧美15图片| 国产精品久久久久久久久免费丝袜| 国产黄色成人av| 国产三级三级三级精品8ⅰ区| 精品亚洲porn| 久久婷婷国产综合国色天香| 国内成人精品2018免费看| 精品国产凹凸成av人网站| 老司机精品视频一区二区三区| 欧美一区二区三区的| 免费欧美在线视频| 日韩欧美国产午夜精品|