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

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

?? 200545155548.c

?? 關于fsk/dtmf來電顯示、電話機的智能電話源程序
?? C
?? 第 1 頁 / 共 4 頁
字號:

//***************************************************************
//	VoxsonCom.c
//
//	By: SG			Date: 2003/03/18
//***************************************************************
#include "805xALL.h"				// 定義51系列常用定義

//----------------------------------------------------------------
//	引用的外部函數
//----------------------------------------------------------------
extern void StationRun(BYTE,BYTE);
extern BYTE SeekCharInString(BYTE,BYTE idata *);	// Pxsb.c 在字符串中查找某個字符
extern void FillTempBuf(void);						// Pxsb.c TempBuf中填入0xFF
extern BYTE CmpString(BYTE code *,BYTE idata *);	// Pxsb.c 比較兩個字符串是否相等

extern BYTE DecToHexByte(BYTE);						// Pxsb.c 單字節dec變換成單字節hex
extern void Delay20ms(BYTE);						// Pxsb.c 延時20*DelayCnt毫秒
extern void RefreshDispTime(void);					// RealTime.c 重新全部刷新Idle下時鐘
extern BOOL EepromWrite(BYTE Len,BYTE data *DATAAddr,WORD EepromAddr);  	//Eeprom.c 把內部RAM塊寫到EEPROM
extern BOOL EepromRead(BYTE Len,BYTE data *DATAAddr,WORD EepromAddr); 		//Eeprom.c 把EEPROM塊讀到內部RAM
extern WORD LoadEEpromAddr(BYTE);					// EEprom.c 從EEprom地址表讀取參數存放地址
extern BOOL EepromReadX(BYTE Len,BYTE pdata *XDATAAddr,WORD EepromAddr); 	//EepromB.c 把EEPROM塊讀到外部RAM
extern WORD LoadATCmdParaEEpAddr(BYTE ATcmdParaNo);		// EEpTab.c 取AT命令的參數在EEp中的地址,占用EEp的cnRevAreaAddr1
extern BYTE LoadATCmdParaEEpNo(void);					// EEpTab.c 查找AT命令參數在EEp中的空地址的序號,1~8有效,0無效
extern void ReleaseATCmdParaEEpNo(BYTE ATCmdParaNo);	// EEpTab.c 釋放AT命令參數存儲區

extern void ResetATcmdRx(void);			//清除收到的緩沖

//extern void RvCallID(BYTE idata *);					// VoxsonCom.c 接收到來電號碼的出來(顯示,存儲到EEprom中)

//----------------------------------------------------------------
//	引用的全局變量
//----------------------------------------------------------------
extern BYTE idata KeyBuffer[cnKeyBufferLen];// 臨時數據緩沖區(如平時按鍵的鍵值保留區等)
extern BYTE data KeyBufWritePtr;			// 數據緩沖區寫指針
extern BYTE data KeyBufReadPtr;				// 數據緩沖區讀指針

extern BYTE idata TempBuf[];
extern struct RealTimeFormat{
	BYTE Year;		//年
	BYTE Month;		//月
	BYTE Day;		//日
	BYTE Hour;		//小時
	BYTE Minute;	//分鐘
	BYTE Second;	//秒
	BYTE Week;		//星期
}idata RealTime;	

BOOL bWaitOKAck;		// 某些AT命令的應答分為兩部分:參數和OK ==> 需要等到收到OK應答,才能棄除該AT命令
BOOL bATcmdNeedResend;	// 必須重新發送AT命令
BOOL bATcmdAckType;		// =1 模塊主動輸出的參數,如:RING,+CLIP:(振鈴,來電號碼);

//----------------------------------------------------------------
//	外部可引用的函數
//----------------------------------------------------------------
void VocSonReset(void);						// VoxsonApp.c Voxson模塊復位
void VoxsonInit(void);						// VoxsonApp.c VoxsonInit初始化程序
void ModelInitNext(void);					// VoxsonApp.c 繼續模塊初始化

void SBUFTx(BYTE);							// VoxsonCom.c 從串口發送單字節數據
BYTE JudgeJinXing(BYTE);					// VoxsonCom.c 轉換待發送的十六進制數為ASCII字符
void HdlATAckTask(BYTE,BYTE);				// VoxsonCom.c AT命令分析散裝函數
void SendATcmd(BYTE,BYTE);					// VoxsonCom.c 發送AT命令
void AnalyseATcmdTask(void);				// VoxsonCom.c AT命令分析函數
void SendATcmdReset(void);					// VoxsonCom.c AT命令發送任務的參數初始化
void SendATcmdTask(void);					// VoxsonCom.c AT命令發送任務
void WaitATcmdAck1sTask(void);				// VoxsonCom.c 等待AT命令應答任務
void PostATcmd(BYTE,BYTE);					// VoxsonCom.c 建立AT命令發送任務

void DelCurAtcmd(void);						// WaveCom.c 刪除當前AT-Cmd

extern struct PhoneStateFormat{
	BYTE bCallOut:1;			// =1 去電; =0 來電
	BYTE bIsTalking:1;			// =1 為通話狀態; =0 為非通話狀態
	BYTE bHookState:1;			// 手柄摘掛機標志 --> =1 手柄摘機; =0 手柄掛機
	BYTE bHandFree:1;			// 免提摘掛機標志 --> =1 免提摘機; =0 免提掛機
	BYTE bPhoneState:1;			// 話機摘掛機狀態(包括免提和手柄) --> =1 摘機; =0 掛機
	BYTE bIsDialing:1;			// =1 正在撥號;
}PhoneFlag;

extern BOOL bComTxD1On;			//=1  串口正在發送數據
//---------------------------------------------------------------
//	定義變量
//---------------------------------------------------------------
/*
typedef struct {
	BYTE ATcmdNo;
	BYTE ATcmdParaPtr;
}ATcmdArrayDef;
*/
ATcmdArrayDef data ATcmdTxArray[cnATcmdTxArrayLen];	// AT命令發送隊列

BYTE data ATcmdTxPara;						// 發送AT命令參數 --> 高4 bit該命令發送的次數;低4 bit發送后沒有得到應答的時間

BYTE idata ATcmdRxBuf0[cnATcmdRxBufLen];	// AT命令接收緩存0
BYTE idata ATcmdRxBuf1[cnATcmdRxBufLen];	// AT命令接收緩存1
BYTE pdata SMSBuf[cnSMSRecordLen];			// 短信接收緩存
//---------------------------------------------------------------
BYTE code CMGI[] = {"AT+CGMI\r"};							// 讀取廠家ID
BYTE code ATA[] = {"ATA\r"};								// 接聽電話
BYTE code ATH[] = {"ATH\r"};								// 掛斷電話
BYTE code ATD[] = {"ATD"};									// 撥號命令
BYTE code VTS[] = {"AT+VTS="};								// 發DTMF命令
BYTE code IPR[] = {"AT+IPR=9600\r"};						// 設置波特率
BYTE code CSQ[] = {"AT+CSQ\r"};								// 查詢信號強度
BYTE code CLIP[] = {"AT+CLIP=1\r"};							// 允許來電輸出
BYTE code CCLK[] = {"AT+CCLK?\r"};							// 讀取模塊的時間
BYTE code SendCCLK[] = {"AT+CCLK=\"\n\"\r"};				// 調整模塊的時間
BYTE code ATM[] = {"AT+SPEAKER=1\r"};						// 掛機時打開SPEAKER通道
BYTE code AUDIO[] = {"AT+VGT=0\r"};							// 選擇主音頻通道
BYTE code CCID[] = {"AT+CCID\r"};							// 讀取SIM卡ID號
BYTE code TestAT[] = {"AT&T0\r"};								// 測試模塊軟件

BYTE code SPSPKR0[] = {"AT+SPEAKER=1;+VGR=0;+VGT=0;+SIDET=0,0\r"};		// 手柄音量4
BYTE code SPSPKR1[] = {"AT+SPEAKER=1;+VGR=40;+VGT=0;+SIDET=0,0\r"};		// 手柄音量3
BYTE code SPSPKR2[] = {"AT+SPEAKER=1;+VGR=70;+VGT=0;+SIDET=0,0\r"};		// 手柄音量2
BYTE code SPSPKR3[] = {"AT+SPEAKER=1;+VGR=90;+VGT=0;+SIDET=0,0\r"};		// 手柄音量1
BYTE code HFSPKR0[] = {"AT+SPEAKER=1;+VGR=30;+VGT=0;+SIDET=0,0\r"};		// 免提音量4
BYTE code HFSPKR1[] = {"AT+SPEAKER=1;+VGR=90;+VGT=0;+SIDET=0,0\r"};		// 免提音量3
BYTE code HFSPKR2[] = {"AT+SPEAKER=1;+VGR=120;+VGT=0;+SIDET=0,0\r"};	// 免提音量2
BYTE code HFSPKR3[] = {"AT+SPEAKER=1;+VGR=150;+VGT=0;+SIDET=0,0\r"};	// 免提音量1
BYTE code MIC[] = {"AT+VGT=0\r"};							// MIC參數
BYTE code SID[] = {"AT+SID=0,0\r"};							// 側音參數
BYTE code ECHO[] = {"AT+ECHO=1,3,30,8000,256\r"};			// 回響參數
BYTE code CMGF[] = {"AT+CMGF=0\r"};							// 選擇PDU格式
BYTE code CSMS[] = {"AT+CSMS=1\r"};							// 符合Phase II標準
BYTE code CNMI[] = {"AT+CNMI=1,1;+CMGF=0\r"};						// 新短消息輸出位置信息
BYTE code CREG[] = {"AT+CREG=1\r"};							// 輸出網絡注冊信息
BYTE code CMGR[] = {"AT+CMGR=\n\r"};						// 讀取短消息
BYTE code CMGD[] = {"AT+CMGD=\n\r"};						// 刪除短消息
BYTE code CMGS[] = {"AT+CMGS=\n\r"};						// 發送短消息
BYTE code CSCA[] = {"AT+CSCA?\r"};							// 讀取短信中心號碼
BYTE code CMGL[] = {"AT+CMGL=4\r"};							// 羅列所有短消息
BYTE code ATE[] = {"ATE1\r"};								// 禁止AT命令數據回送

BYTE code NeedPIN[] = {"AT+CPIN?\r"};						// 查詢SIM卡PIN碼狀態
BYTE code PINClck[] = {"AT+CLCK=\"SC\",1,1234\r"};			// 設置SIM卡鎖PIN碼
BYTE code InputPIN[] = {"AT+CPIN=\n\r"};					// 輸入SIM卡PIN碼
BYTE code ChangePIN[] = {"AT+CPWD=\"SC\",1234,\n\r"};		// 更改SIM卡PIN碼
BYTE code PINUnClck[] = {"AT+CLCK=\"SC\",0,1234\r"};		// SIM卡PIN碼解鎖
BYTE code CHGBackPIN[] = {"AT+CPWD=\"SC\",\n,1234\r"};		// 該SIM卡PIN碼為默認的‘1234’

BYTE code SaveCfg[] = {"AT&W\r"};							// 存儲用戶設置參數
BYTE code PowerOff[] = {"AT+CPOF\r"};						// 關機
BYTE code CheckBatt[] = {"AT+WBCM=2\r"};					// 檢查電池電壓

BYTE code SetCallWaitting[] = {"AT+CCWA=1,1,1\r"};			// 呼叫等待設置
BYTE code CancelCallWaittng[] = {"AT+CCWA=1,0,7\r"};		// 取消呼叫等待設置
BYTE code Answer2ndCall[] = {"AT+CHLD=1\r"};				// 接聽呼叫等待的第二個電話
BYTE code Cancel2ndCall[] = {"AT+CHLD=0\r"};				// 掛斷呼叫等待的第二個電話
BYTE code SetCallForward0[] = {"AT+CCFC=0,3,\"\n\"\r"};		// 呼叫轉移設置
BYTE code SetCallForward1[] = {"AT+CCFC=1,3,\"\n\"\r"};		// 呼叫轉移設置
BYTE code SetCallForward2[] = {"AT+CCFC=2,3,\"\n\"\r"};		// 呼叫轉移設置
BYTE code SetCallForward3[] = {"AT+CCFC=3,3,\"\n\"\r"};		// 呼叫轉移設置
BYTE code CancelCallForward[] = {"AT+CCFC=4,4\r"};			// 取消呼叫轉移設置

BYTE code CCEDMain[] = {"AT+CCED=0,1\r"};						// 查詢主基站號
BYTE code CCEDSub[] = {"AT+CCED=0,2\r"};						// 查詢從屬基站號


WORD code ATCmd_TX_Tab[] = 
{
	&CMGI,
	&ATA,
	&ATH,
	&ATD,
	&VTS,
	&IPR,
	&CSQ,
	&CLIP,
	&CCLK,
	&ATM,
	&AUDIO,
	&CCID,
	&TestAT,
	&SPSPKR0,
	&SPSPKR1,
	&SPSPKR2,
	&SPSPKR3,
	&HFSPKR0,
	&HFSPKR1,
	&HFSPKR2,
	&HFSPKR3,
	&MIC,
	&SID,
	&ECHO,
	&CMGF,
	&CSMS,
	&CNMI,
	&CREG,
	&CMGR,
	&CMGD,
	&CMGS,
	&CSCA,
	&CMGL,
	&ATE,
	&NeedPIN,
	&PINClck,
	&InputPIN,
	&ChangePIN,
	&PINUnClck,
	&CHGBackPIN,
	&SaveCfg,
	&PowerOff,
	&CheckBatt,
	&SetCallWaitting,
	&CancelCallWaittng,
	&Answer2ndCall,
	&Cancel2ndCall,
	&SetCallForward0,
	&SetCallForward1,
	&SetCallForward2,
	&SetCallForward3,
	&CancelCallForward,
	&SendCCLK,
	&CCEDMain,
	&CCEDSub
};


//---------------------------------------------------------------
BYTE code ATAck_OK[] = {"OK"};						// 正應答
BYTE code ATAck_RING[] = {"RING"};					// 來電輸出標志
BYTE code ATAck_CLIP[] = {"+CLIP:"};				// 來電號碼輸出標志
BYTE code ATAck_CCLK[] = {"+CCLK:"};				// 模塊時鐘輸出標志
BYTE code ATAck_NOCarrier[] = {"NO CARRIER"};		// 網絡掛斷
BYTE code ATAck_Error[] = {"ERROR"};				// 負應答
BYTE code ATAck_CSQ[] = {"+CSQ:"};					// 信號強度輸出
BYTE code ATAck_SCKS[] = {"+CCID"};					// SIM卡ID號輸出
BYTE code ATAck_BUSY[] = {"BUSY"};					// 網絡忙
BYTE code ATAck_NODIALTONE[] = {"NO DIALTONE"};		// 網絡無撥號音
BYTE code ATAck_CPIN[] = {"+CPIN:"};				// SIM卡PIN碼狀態輸出
BYTE code ATAck_NOANSWER[] = {"NO ANSWER"};			// 網絡無應答
BYTE code ATAck_CCWA[] = {"+CCWA:"};				// 呼叫等待
BYTE code ATAck_CREG[] = {"+CREG:"};				// SIM注冊狀態輸出
BYTE code ATAck_CMTI[] = {"+CMTI:"};				// 新短消息的位置信息
BYTE code ATAck_CMGR[] = {"+CMGR:"};				// 讀取短消息輸出
BYTE code ATAck_CMGS[] = {"+CMGS:"};				// 發送短消息輸出
BYTE code ATAck_CMGL[] = {"+CMGL:"};				// 羅列短消息輸出
BYTE code ATAck_WBCI[] = {"+WBCI:"};				// 電池電壓輸出

WORD code ATCmd_RX_Tab[] = 
{
	&ATAck_OK,
	&ATAck_RING,
	&ATAck_CLIP,
	&ATAck_CCLK,
	&ATAck_NOCarrier,
	&ATAck_Error,
	&ATAck_CSQ,
	&ATAck_SCKS,
	&ATAck_BUSY,
	&ATAck_NODIALTONE,
	&ATAck_CPIN,
	&ATAck_NOANSWER,
	&ATAck_CCWA,
	&ATAck_CREG,
	&ATAck_CMTI,
	&ATAck_CMGR,
	&ATAck_CMGS,
	&ATAck_CMGL,
	&ATAck_WBCI,
	0xFFFF
};

//---------------------------------------------------------------
BYTE code PIN_READY[] = {"+CPIN: READY"};
BYTE code PIN_SIMPIN[] = {"+CPIN: SIM PIN"};
/*
//***************************************************************
//	void VoxsonInit(void)
//
//	Note: Voxson模塊初始化
//***************************************************************
void VoxsonInit(void)
{
	boWaveComRst = true;
	Delay20ms(20);
	boWaveComRst = false;

	PostATcmd(cnATcmd_TestAT,NULL);			// 測試Model軟件
//	PostATcmd(cnATcmd_ATE,NULL);			// 禁止AT命令回傳
//	PostATcmd(cnATcmd_CCLK,NULL);			// 讀取實時時鐘
//	PostATcmd(cnATcmd_CCID,NULL);			// 讀取SIM卡ID
//	PostATcmd(cnATcmd_NeedPIN,NULL);		// 查詢SIM卡PIN碼狀態
}

// 繼續模塊初始化
void ModelInitNext(void)
{
//	PostATcmd(cnATcmd_Audio,NULL);			// 選擇語音通道
	PostATcmd(cnATcmd_CLIP,NULL);			// 允許來電輸出
	PostATcmd(cnATcmd_CSQ,NULL);			// 查詢信號強度
}
*/
//***************************************************************
//	void VoxsonInit(void)
//
//	Note: Voxson模塊復位
//***************************************************************
void VocSonReset(void)
{
	boWaveComRst = true;
	Delay20ms(20);
	boWaveComRst = false;
	SendATcmdReset();
} 

//***************************************************************
//	void SendATcmd(BYTE ATcmdNo,BYTE ATcmdDataPtr)
// 
//	IN:	ATcmdNo --> AT命令號
//		ATcmdDataPtr --> 帶參的AT命令參數在EEp中地址
//***************************************************************
void SendATcmd(BYTE ATcmdNo,BYTE ATcmdDataPtr)
{
	BYTE SendATcmdData;
	BYTE code *ATcmdPtr;
	BYTE pdata ATCmdPara[cnATCmdParaEEpAddrLen];
	ATcmdPtr = ATCmd_TX_Tab[ATcmdNo];
    
	ES = false;										// 發送時,關閉串口接收中斷
//---------
	ResetATcmdRx();					// 清除收到的緩沖
//---------	
	if(ATcmdNo < cnATcmd_EndCMD)					// 是否定義過的AT命令
	{
		if(!((ATcmdNo == cnATcmd_ATD) || (ATcmdNo == cnATcmd_VTS)))	// 是否是撥號命令或發送DTMF命令
		{
			SendATcmdData = *ATcmdPtr;
			while(SendATcmdData != cnATcmdEndFlag)			// 是否是AT命令結束符
			{
				if(SendATcmdData == cnNeedPara)				// 是否需要參數
				{
					EepromReadX(cnATCmdParaEEpAddrLen,ATCmdPara,LoadATCmdParaEEpAddr(ATcmdDataPtr));// 取AT命令的參數

					SendATcmdData = 0x00;
					while(ATCmdPara[SendATcmdData] != 0xFF)			// 如果需要參數,參數是否發送完畢
					{
						SBUFTx(ATCmdPara[SendATcmdData]);			// 發送參數
						++SendATcmdData;							// 參數地址++
					}
					ReleaseATCmdParaEEpNo(ATcmdDataPtr);			// 釋放AT命令參數存儲區
					++ATcmdPtr;										// AT命令字指針++
				}
				else
				{
					SBUFTx(SendATcmdData);					// 發送AT命令字
					++ATcmdPtr;								// AT命令字指針++
				}
				SendATcmdData = *ATcmdPtr;
			}
		}
		else
		{
			// 發送AT撥號命令或DTMF命令的命令體
			if (KeyBufReadPtr >= KeyBufWritePtr)
				DelCurAtcmd();		// 無效的AT命令,移位發送隊列	

			while(*ATcmdPtr != cnATcmdEndFlag)
			{
				SBUFTx(*ATcmdPtr);
				++ATcmdPtr;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99精品国产91久久久久久| 天堂一区二区在线| 成人av在线一区二区三区| 国产人成一区二区三区影院| 国产精品影视网| 国产精品久久久久影院色老大| 不卡av电影在线播放| 中文字幕中文在线不卡住| 91影视在线播放| 一区二区三区波多野结衣在线观看| 日本丶国产丶欧美色综合| 亚洲国产日韩av| 日韩一区二区三区在线视频| 久国产精品韩国三级视频| 国产片一区二区| 色婷婷一区二区三区四区| 婷婷六月综合网| 久久久不卡网国产精品一区| 成人av动漫网站| 亚洲国产毛片aaaaa无费看| 欧美一区二区三区性视频| 国产一区二区三区四区五区入口| 中文文精品字幕一区二区| 91色.com| 日本网站在线观看一区二区三区| 久久众筹精品私拍模特| 一本久久综合亚洲鲁鲁五月天| 日韩中文字幕1| 国产女主播视频一区二区| 99精品欧美一区| 美女精品自拍一二三四| 亚洲欧洲韩国日本视频| 日韩一级二级三级精品视频| 高清不卡一二三区| 午夜精品免费在线| 国产欧美综合在线观看第十页| 欧美自拍偷拍午夜视频| 国产一区二区免费视频| 一二三区精品福利视频| 亚洲精品在线电影| 欧美日韩免费一区二区三区| 国产suv精品一区二区6| 日本亚洲视频在线| 亚洲精品乱码久久久久久黑人| 欧美成人精品3d动漫h| 色婷婷久久久综合中文字幕| 精品一区二区综合| 亚洲va国产天堂va久久en| 中文字幕不卡在线观看| 日韩午夜电影在线观看| 色吧成人激情小说| 粉嫩高潮美女一区二区三区| 美女网站在线免费欧美精品| 亚洲欧美日韩系列| 国产精品久久久久久久浪潮网站| 精品久久久久久久久久久久久久久久久 | 精品国免费一区二区三区| 91视频观看免费| 国产一区二区精品久久99| 日日夜夜免费精品| 亚洲自拍偷拍欧美| 国产精品传媒在线| 国产日韩成人精品| 久久综合色8888| 日韩欧美一级二级| 欧美丝袜丝交足nylons| 色域天天综合网| 不卡一区二区中文字幕| 粉嫩欧美一区二区三区高清影视| 久久精品国产77777蜜臀| 日韩和的一区二区| 亚洲va欧美va天堂v国产综合| 曰韩精品一区二区| 一区二区三区日韩精品视频| 自拍偷拍国产亚洲| 中文字幕一区二区三区蜜月 | 精品国产伦一区二区三区观看体验 | 欧美亚洲动漫精品| 欧美在线看片a免费观看| 欧美中文字幕一区二区三区| 欧美亚洲高清一区| 欧美挠脚心视频网站| 欧美日韩中文另类| 欧美另类一区二区三区| 91麻豆精品久久久久蜜臀| 67194成人在线观看| 日韩视频一区在线观看| 日韩三级伦理片妻子的秘密按摩| 欧美一级午夜免费电影| 日韩免费性生活视频播放| 精品国产一区二区三区四区四| 日韩精品一区二区三区在线 | 久久99在线观看| 国产自产高清不卡| 国产成人日日夜夜| 成人ar影院免费观看视频| 99久久精品国产毛片| 91成人在线免费观看| 欧美剧情电影在线观看完整版免费励志电影| 欧美日韩免费不卡视频一区二区三区 | 天天综合色天天| 麻豆成人免费电影| 顶级嫩模精品视频在线看| 91小视频在线观看| 欧美男同性恋视频网站| 精品国产欧美一区二区| 中文字幕av免费专区久久| 亚洲在线一区二区三区| 日日骚欧美日韩| 国产suv精品一区二区三区| 91麻豆福利精品推荐| 在线成人小视频| 欧美成人精品3d动漫h| 亚洲欧洲日韩综合一区二区| 午夜视频在线观看一区二区| 国产精品一区三区| 91在线精品一区二区三区| 欧美伊人久久久久久午夜久久久久| 日韩网站在线看片你懂的| 国产精品九色蝌蚪自拍| 热久久一区二区| 不卡在线视频中文字幕| 欧美一区二区精美| 亚洲视频免费在线| 久久国产精品99久久久久久老狼| 不卡免费追剧大全电视剧网站| 4hu四虎永久在线影院成人| 国产精品沙发午睡系列990531| 性久久久久久久| 9人人澡人人爽人人精品| 欧美一区二区视频观看视频 | 精品国产亚洲在线| 亚洲伦在线观看| 国产一区激情在线| 欧美欧美午夜aⅴ在线观看| 中文字幕亚洲在| 九九九精品视频| 欧美美女网站色| 亚洲视频1区2区| 国产精品夜夜嗨| 日韩欧美电影在线| 一卡二卡欧美日韩| 不卡一二三区首页| 久久久久久久久久电影| 亚洲成人精品一区二区| 97精品久久久午夜一区二区三区| 这里只有精品免费| 一区二区三区在线免费观看| 国产精品一区在线观看你懂的| 日韩欧美区一区二| 亚洲午夜精品久久久久久久久| 国产成人免费xxxxxxxx| 精品毛片乱码1区2区3区| 日欧美一区二区| 91福利在线观看| ●精品国产综合乱码久久久久| 国内精品伊人久久久久影院对白| 91麻豆精品国产| 午夜精品一区二区三区免费视频| 一本色道久久综合亚洲aⅴ蜜桃| 中文字幕av资源一区| 国产黑丝在线一区二区三区| 久久人人超碰精品| 日本sm残虐另类| 日韩欧美亚洲国产另类| 美国一区二区三区在线播放| 91精品国产91久久综合桃花| 亚洲国产aⅴ成人精品无吗| 91香蕉视频mp4| 亚洲欧美日韩久久精品| 91免费精品国自产拍在线不卡| 亚洲丝袜美腿综合| 91在线观看成人| 亚洲精品国产精品乱码不99| 色综合久久中文字幕| 一区二区三区在线观看国产| 91国偷自产一区二区开放时间 | 一区二区在线电影| 91久久免费观看| 亚洲一线二线三线视频| 欧美日韩一区在线| 婷婷亚洲久悠悠色悠在线播放| 欧美日韩大陆一区二区| 麻豆视频观看网址久久| 2019国产精品| 国产aⅴ综合色| 最新国产成人在线观看| 在线观看亚洲精品视频| 亚洲成人精品影院| 欧美不卡一区二区三区| 成人午夜视频福利| 一区二区三区欧美| 日韩一级黄色大片| 国产精品一二三在| 亚洲另类一区二区| 欧美一区二区三区四区五区 | 成人免费看视频| 亚洲欧美日韩国产手机在线 | 99久久99久久综合| 亚洲国产精品人人做人人爽|