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

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

?? main12.c

?? 透明傳輸的DTU。實現配置:microchip 18F6520,協議DL/T645。 全部C源碼文件。
?? C
?? 第 1 頁 / 共 5 頁
字號:

		T2CON = 0B00000100;		//1:1 prescale, 1:1 postscale, TMR2 on
}

void SendToModule(unsigned int num)
{
  unsigned int cSendData;

	RCSTA2bits.CREN = 0;				//連續接收數據禁止

	ByteRecvUART2 = 0;
	ModulFlags.Bit.EchoModule = 0;
	ModulFlags.Bit.RecvEcho = 0;
	GPRSComm.Bit.RecvUART2 = 0;
	GPRSComm.Bit.RecvGPRS = 0;
	ReceivedReturn = 0;
  
	TXSTA2bits.TXEN = 1;				//發送允許
   	for(cSendData=0;cSendData<num;cSendData++)
   	{	
		TXREG2 = TranToMS[cSendData];	
   		while(1)
   		{
		  if(PIR3bits.TX2IF == 1) break;
		}
		delay4ms();			//!這個延時必須有,且不能縮短!
	}//END of for(cSendData=0;cSendData<num;cSendData++)
	RCSTA2bits.CREN = 1;		//連續接收數據允許
	delay4ms();
}


void Proc_0HourData(void)
{
	unsigned int address;
	unsigned char cnt_meters;
	unsigned char PerMeterDataSize;
	unsigned char DataStart;

	cnt_meters = 32;
	PerMeterDataSize = 32;	
	DataStart = 32;

	TranToMS[0] = 0x68;
	TranToMS[1] = _T;
	TranToMS[2] = _PLUS;
	TranToMS[3] = _C;
	TranToMS[4] = _I;
	TranToMS[5] = _I;
	TranToMS[6] = _C;
	TranToMS[7] = _R;
	TranToMS[8] = _CR;		
	
	for (j=0;j<cnt_meters;j++)
	{
		address = NO1Area + NO1Area*PerMeterDataSize; 
		SPIRX(address,TranToMS,PerMeterDataSize);
		Nop();
		SendToModule(PerMeterDataSize);
		Nop();
		for (k = 0; k < 32; k++)	//清除發送區
		{
			TranToMS[k] = 0;
		}
		Nop();
	}
	
}

void UploadData(void)
{
//指定CIPSEND要發送的字節長度
	LoadCMD_CIPSEND();
	ModulFlags.Bit.CMGSSent = 0x01;	//等待回車 換行 大于號 空格
	WaitReturn = 0;
	dLength = ByteReceived;
	ByteReceived = 0;
	if(dLength>=100)
	{
		tempArr[0] = dLength / 100;						//求百位
		temp2 = dLength-(dLength / 100) * 100;	
		tempArr[1] = temp2 / 10;						//求十位
		tempArr[2] = temp2-(temp2 / 10) * 10;			//求個位
		TranToMS[CIPSEND_SIZE] = _EQUAL;
		TranToMS[CIPSEND_SIZE + 1] = tempArr[0]+0x30;	//轉換成字符
		TranToMS[CIPSEND_SIZE + 2] = tempArr[1]+0x30;	//轉換成字符
		TranToMS[CIPSEND_SIZE + 3] = tempArr[2]+0x30;	//轉換成字符
		TranToMS[CIPSEND_SIZE + 4] = _CR;	
		SendToModule (CIPSEND_SIZE + 5);
	}  
	else if(dLength >= 10)
	{
		tempArr[0] = dLength/10;						//求十位
		tempArr[1] = dLength-(dLength/10)*10;			//求個位
		TranToMS[CIPSEND_SIZE] = _EQUAL;
		TranToMS[CIPSEND_SIZE + 1] = tempArr[0]+0x30;	//轉換成字符
		TranToMS[CIPSEND_SIZE + 2] = tempArr[1]+0x30;	//轉換成字符
		TranToMS[CIPSEND_SIZE + 3] = _CR;	
		SendToModule (CIPSEND_SIZE + 4);
	}	
	else		//dLength<10
	{
		TranToMS[CIPSEND_SIZE] = _EQUAL;
		TranToMS[CIPSEND_SIZE + 1] = dLength + 0x30;	//轉換成字符
		TranToMS[CIPSEND_SIZE + 2] = _CR;	
		SendToModule (CIPSEND_SIZE + 3);
	}	
//等待回傳大于號和空格 0D 0A 3E 20
	DelaySeconds(5);
	if(ModulFlags.Bit.EchoModule)	//GPRS模塊對CIPSENDd的應答
	{
		for(k=0;k<dLength;k++)
		{
			TranToMS[k] = BUF_METER[k]; 
		}				
		WaitReturn = 0;
		SendToModule (dLength);		//把從電表那收到的回送上傳給主站
		DelaySeconds(30);		//30秒等send ok
		if(ModulFlags.Bit.EchoModule == 1)
		{
			if(RecvFromMS[0]==0x0D && RecvFromMS[1]==0x0D)
				cRet = strncmppgm2ram(((char *)RecvFromMS+1),(const far rom char *)SEND_OK,L_SEND_OK);
			else
				cRet = strncmppgm2ram((char *)RecvFromMS,(const far rom char *)SEND_OK,L_SEND_OK);
			if(cRet == 0)						//發送成功
			{
				//SignalLed = LOW;			//打開信號強度燈
				ClearMeterREG();			//清除電表標志
				ClearGPRSREG();
				MinCounter = 0;
				for (k = 0; k < 48; k++)				//clear module 應答區
				{
					RecvFromMS[k] = 0;
				}
				return;
			}
		}
	}
	//SignalLed = HIGH;			//關閉信號強度燈

	Close_Shut();
 	PowerOffModule();
	PowerOnModule();
	PWRKeyOn();
	Module_Init();
}//END of else:電表回送數據上傳

void SendBeatPack(void)
{
	for (k = 0; k < 32; k++)	//clear module 應答區
  	{
  		RecvFromMS[k] = 0;
	}
	LoadCMD_CIPSEND();
	ModulFlags.Bit.CMGSSent = 0x01;	//等待回車 換行 大于號 空格
	WaitReturn = 0;
	TranToMS[CIPSEND_SIZE] = _EQUAL;
	TranToMS[CIPSEND_SIZE+1] = _1;
	TranToMS[CIPSEND_SIZE+2] = _CR;	
	SendToModule(CIPSEND_SIZE+3);
//等待回傳大于號和空格 0D 0A 3E 20
	DelaySeconds(5);
	if(ModulFlags.Bit.EchoModule)	//GPRS模塊對CIPSENDd的應答
	{
  	  	cRet = strncmppgm2ram((char *)RecvFromMS,(const far rom char *)ERROR,L_ERROR);
  	  	if(cRet == 0)	//對CIPSEND的應答為ERROR,說明主站已經斷開連接
  	  	{
			OnlineLed = HIGH;			//關閉在線燈
			//SignalLed = HIGH;			//關閉信號強度燈
			OtherFlags.Bit.TCPLink = 0;
			Close_Shut();
			ClearGPRSREG();

			return;
		}

  		TranToMS[0] = _0;				//_B;
  		SendToModule (1);				//發送心跳包,就一個字節
		DelaySeconds(30);		//30秒等send ok
		if(ModulFlags.Bit.EchoModule == 1)
		{
			if(RecvFromMS[0]==0x0D && RecvFromMS[1]==0x0D)
				cRet = strncmppgm2ram(((char *)RecvFromMS+1),(const far rom char *)SEND_OK,L_SEND_OK);
			else
				cRet = strncmppgm2ram((char *)RecvFromMS,(const far rom char *)SEND_OK,L_SEND_OK);
			if(cRet == 0)						//發送成功
			{
			//	SignalLed = LOW;			//打開信號強度燈
				ClearGPRSREG();
				MinCounter = 0;
				for (k = 0; k < 48; k++)				//clear module 應答區
				{
					RecvFromMS[k] = 0;
				}
				return;
			}
		}
	}
	OnlineLed = HIGH;			//關閉在線燈
	//SignalLed = HIGH;			//關閉信號強度燈
	OtherFlags.Bit.TCPLink = 0;

	Close_Shut();
 	PowerOffModule();
	PowerOnModule();
	PWRKeyOn();
	Module_Init();
}
void FirstTimeInitial(void)
{
	Nop();
//	R_eeprom((char *)tempArr,VirginTime,2);
	EEADRH = 0x00;
	EEADR = 0x08;
	EECON1bits.EEPGD = 0;	// Point to DATA memory
	EECON1bits.CFGS = 0;

	EECON1bits.RD = 1;
	temp1 = EEDATA;
	EEADR++;
	EECON1bits.RD = 1;
	temp2 = EEDATA;
	Nop();

	if(temp1 != 0x55 || temp2 != 0xAA)
	{//是終端的第一次上電
		for (k = 0; k < 16; k++)	//清除EEPROM中的要使用的一片區域。
		{
			RecvFromMS[k] = 0;
		}
		for (j = 0; j < 8; j++)		//清除EEPROM中的前128字節。
		{
			W_eeprom((char *)RecvFromMS,j*0x10,16);
		}
//寫入默認終端號:實際上=00000000

// ------- write a byte to EEPROM ------------------
  			BT = 0x07;
  			EEADRH = 0x00;
			EEADR = lobyte(BeatTime);
			EECON1bits.EEPGD = 0;
			EECON1bits.CFGS = 0;
			EECON1bits.WREN = 1;
			INTCONbits.GIE = 0; 
	
			EEDATA = BT;
			EECON2 = 0x55;
			EECON2 = 0xAA;
			EECON1bits.WR = 1;
			while (!PIR2bits.EEIF)
			;
			PIR2bits.EEIF = 0;
  			
  			EECON1bits.WREN = 0;
			INTCONbits.GIE = 1; 

//寫入APN默認值:CMNET		
/*
		RecvFromMS[0] = _X;
		RecvFromMS[1] = _M;
		RecvFromMS[2] = _D;
		RecvFromMS[3] = _L;
		RecvFromMS[4] = _DOT;
		RecvFromMS[5] = _F;
		RecvFromMS[6] = _J;
		W_eeprom((char *)RecvFromMS,APNAddr,7);
*/
		RecvFromMS[0] = _C;
		RecvFromMS[1] = _M;
		RecvFromMS[2] = _N;
		RecvFromMS[3] = _E;
		RecvFromMS[4] = _T;
		W_eeprom((char *)RecvFromMS,APNAddr,5);
//寫入默認IP地址:219.232.44.101
		RecvFromMS[0] = _2;
		RecvFromMS[1] = _1;
		RecvFromMS[2] = _9;
		RecvFromMS[3] = _DOT;
		RecvFromMS[4] = _2;
		RecvFromMS[5] = _3;
		RecvFromMS[6] = _2;
		RecvFromMS[7] = _DOT;
		RecvFromMS[8] = _4;
		RecvFromMS[9] = _4;
		RecvFromMS[0x0A] = _DOT;
		RecvFromMS[0x0B] = _1;
		RecvFromMS[0x0C] = _0;
		RecvFromMS[0x0D] = _1;
		W_eeprom((char *)RecvFromMS,IPAddress,14);	
//寫入默認端口
		RecvFromMS[0] = _2;
		RecvFromMS[1] = _0;
		RecvFromMS[2] = _0;
		RecvFromMS[3] = _5;
		W_eeprom((char *)RecvFromMS,PortAddr,4);	

//最后寫上已上過電標志
		DTU_Number[0] = 0x55;
		DTU_Number[1] = 0xAA;
		W_eeprom((char *)DTU_Number,VirginTime,2);
	}
}

void Module_Init(void)
{
	unsigned char count;
  
	ModulFlags.ModuleBYTE = 0 ;
  	WaitReturn = 0;

/* 在實際應用中,RESET 和ON/~OFF 可由MCU 控制,MCU 通過對ON/~OFF 和RESET 的控制
可以實現模塊的關機,具體程序為:MCU 先發命令(AT+CFUN=0,1),模塊開始注銷網絡登
記,然后使ON/~OFF 信號為反向有效(0FF 有效)200ms,再使RESET 有效(低電平維持100ms 以
上),這樣就可以關掉模塊。模塊關機后的電流為50uA。
*/
	LoadCMD_AT();
	SendToModule (3);
	PassSeconds(5);
  	ModulFlags.Bit.EchoModule = 0;
   	ModulFlags.Bit.RecvEcho = 0;
	ClearGPRSREG();

  MaxTry = 0;	
  while(1)
  {
	LoadCMD_AT();
	SendToModule (3);
	DelaySeconds(5);

  	if(ModulFlags.Bit.EchoModule == 1)
  	{
  		ModulFlags.Bit.EchoModule = 0;
   		ModulFlags.Bit.RecvEcho = 0;
		break;
  	}//END if(ModulFlags.Bit.EchoModule == 1)
  	else
  	{
		ClearGPRSREG();
		MaxTry++;
		if(MaxTry > 1)
		{
			PowerOnModule();
  			Nop();
			PWRKeyOn();
  			Nop();
			MaxTry = 0;
		}
	}
  }//END 

//在這先發ATE0命令,設置為命令無ECHO
	Nop();
  	LoadCMD_ATE0();
  	SendToModule (ATE0_SIZE);
	delay200ms ();				//如果只延時20ms,就只能收到回送15個字節
  	if(ModulFlags.Bit.EchoModule == 1)
  	{
  	  	if(RecvFromMS[2]==_O && RecvFromMS[3]==_K)
  	  	{
	    	ModulFlags.Bit.RecvEcho = 0;
  	  	}//END if(ModulFlags.Bit.EchoModule == 1)
  	}

//默認是CMGF=0 PDU模式,再初始化成UCS2編碼
	LoadCMD_CSCS();
	SendToModule (AT_CSCS_SIZE);
	delay200ms ();

  		if(ModulFlags.Bit.EchoModule == 1)
  		{
			cRet = strncmppgm2ram((char *)RecvFromMS,(const far rom char *)OK,L_OK);
  	  		if(cRet == 0)
  	  		{
	    		ModulFlags.Bit.EchoModule = 0;
	    		ModulFlags.Bit.RecvEcho = 0;
  	  		}//END if(cRet == 0)
			PassSeconds(2);
  		}//END if(ModulFlags.Bit.EchoModule == 1)

  	LoadCMD_CIPHEAD();	//設at+ciphead=1,遠端發來的數據自動加上報頭 +IPDn
	MaxTry = 0;	
  	while(1)
  	{
	 	ByteRecvUART2 = 0;
  		SendToModule (CIPHEAD_SIZE);
		delay50ms ();				//如果只延時20ms,就只能收到回送15個字節
  		if(ModulFlags.Bit.EchoModule == 1)
  		{
  	  		if(RecvFromMS[2]==_O && RecvFromMS[3]==_K)
  	  		{
	    		ClearGPRSREG();
  	    		break ;
  	  		}//END if(ModulFlags.Bit.EchoModule == 1)
  		}
		MaxTry++;
		if(MaxTry > 2)
			break;
  	}//END while(1)

	Nop();
	ThreeCommand();
	Nop();
//	ConnectIP();	不在此處調用,否則會嵌套。
	Nop();
}//END Module_Init()

void ThreeCommand(void)
{
  	WaitReturn = 0;

	Read_APN();
	SendToModule (temp2);
	DelaySeconds(8);
  	if(ModulFlags.Bit.EchoModule == 1)
  	{
  	  	cRet = strncmppgm2ram((char *)RecvFromMS,(const far rom char *)ERROR,L_ERROR);
  	  	if(cRet == 0)
  	  	{
			Close_Shut();
			ClearGPRSREG();
//重發
			Read_APN();
			SendToModule (temp2);
			DelaySeconds(8);
		}
		else
		{
			ModulFlags.Bit.EchoModule = 0;
   			ModulFlags.Bit.RecvEcho = 0;
		}
  	}
	else
	{
		Nop();
		//RESET();
		//設置無卡標志并閃爍燈而且建立連接前,先調用ThreeCommand進行初始化。
	}
	PassSeconds(1);
	LoadCMD_CIICR();
	SendToModule (9);
	DelaySeconds(8);
  	if(ModulFlags.Bit.EchoModule == 1)
  	{
		for(tt=0;tt<3;tt++)	//找到第一個68H,定位幀頭
		{
			if(RecvFromMS[tt] == 0x0A)
				break;
		}

  	if(RecvFromMS[tt+1]==_O && (RecvFromMS[tt+2]==_K || RecvFromMS[tt+2]==_H))
  	  	{
	    	ModulFlags.Bit.RecvEcho = 0;
			ModulFlags.Bit.EchoModule = 0;
  	  	}//END if(ModulFlags.Bit.EchoModule == 1)
		else
		{
		Nop();
		//RESET();
		//設置無卡標志并閃爍燈而且建立連接前,先調用ThreeCommand進行初始化。
		}
  	}
	else
	{
		Nop();
		//RESET();
		//設置無卡標志并閃爍燈而且建立連接前,先調用ThreeCommand進行初始化。
	}
	LoadCMD_CIFSR();
  	WaitReturn = 0;
	SendToModule (9);
	DelaySeconds(10);
	ModulFlags.Bit.EchoModule = 0;
   	ModulFlags.Bit.RecvEcho = 0;
}

void ClearMeterREG(void)
{
	ByteReceived = 0;
	MeterComm.Comm1Byte = 0;
	RCSTA2bits.FERR = 0;
	RCSTA2bits.OERR = 0;
	OverTimeMeter = 0;
}

void ClearGPRSREG(void)
{
	ByteRecvUART2 = 0;
	GPRSComm.Comm2Byte = 0;
	WaitReturn = 0;
	ReceivedReturn = 0;
	OverTimeGPRS = 0;
	Length = 0;
	ModulFlags.ModuleBYTE = 0;
}

void SendCMDtoMeter(unsigned char num)
{
	EN485 = EnTransport;
	delay20ms();
	PIE1bits.TMR1IE = 0;			//關閉定時中斷
	TXSTA1bits.TXEN = 1;			//*發送允許
	RCSTA1bits.CREN = 0;			//禁止接收
	PIR1bits.TX1IF = 0;
	
   	for(k = 0;k < num;k++)
   	{	
		if(BUFFER_ID == 0)
			temp1 = BUF_METER[k];
		else if(BUFFER_ID == 1)
			temp1 = YC_CMD_BUF[k];
		else
			temp1 = SMS_CMD_BUF[k];

		GenParity(temp1);
		if(parity == 1)
	  	  TXSTA1bits.TX9D = 1;
		else
	  	  TXSTA1bits.TX9D = 0;

		TXREG1 = temp1;	
   		while(1)
   		{
		  if(PIR1bits.TX1IF == 1) break;
		}
		delay10ms();//字節間延時至少10ms!!!
	}	
	while(1)
	{
		if(TXSTA1bits.TRMT == 1) break;	//最后一個字節也發完
	}
//	delay10ms();	//江蘇表回送很快,不能加延時

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区日韩一区| 亚洲狠狠爱一区二区三区| 亚洲欧洲精品一区二区三区不卡| 一区二区三区四区视频精品免费| 日本在线不卡一区| 一本色道综合亚洲| 国产欧美日韩亚州综合| 毛片一区二区三区| 欧美日韩三级一区二区| 中文字幕一区二区三区蜜月| 久久激情综合网| 欧美视频中文字幕| 亚洲欧美日韩在线| 成人免费视频一区| 国产欧美一区二区三区沐欲| 男男成人高潮片免费网站| 在线欧美日韩精品| 亚洲区小说区图片区qvod| 国产剧情一区在线| 精品国产一区二区三区久久久蜜月 | 欧美电影一区二区三区| 亚洲精品一二三区| 成人午夜看片网址| 亚洲国产精品成人综合| 国产凹凸在线观看一区二区| 久久这里只有精品视频网| 美女爽到高潮91| 91精品国产欧美一区二区18| 亚洲成人黄色影院| 欧美男女性生活在线直播观看| 亚洲精品国产高清久久伦理二区| 国产成人午夜99999| 国产欧美日韩在线| 成人短视频下载| 亚洲欧美偷拍三级| 在线观看一区日韩| 亚洲国产一区二区三区| 欧美日韩一区二区在线观看| 亚洲成人综合网站| 91精品国产欧美日韩| 久久99精品久久只有精品| 精品欧美黑人一区二区三区| 国产高清无密码一区二区三区| 337p粉嫩大胆噜噜噜噜噜91av| 国产在线一区二区| 国产精品免费视频一区| 不卡的电视剧免费网站有什么| 亚洲精品视频免费看| 欧美日韩在线播放一区| 蜜臀av性久久久久蜜臀aⅴ| 久久综合视频网| 99r精品视频| 亚洲电影激情视频网站| 欧美刺激脚交jootjob| 丰满少妇久久久久久久| 亚洲综合小说图片| 精品成人私密视频| 99视频一区二区| 亚洲一区中文在线| 2024国产精品| 91国产精品成人| 毛片一区二区三区| 亚洲色图丝袜美腿| 日韩精品一区二区三区三区免费 | 日韩一区欧美二区| 久久欧美一区二区| 欧美影院午夜播放| 国产做a爰片久久毛片| 亚洲乱码国产乱码精品精98午夜 | 国产三级精品视频| 欧美亚洲一区二区三区四区| 久久草av在线| 中文字幕欧美一| 欧美www视频| 91国偷自产一区二区三区成为亚洲经典 | 国产成人精品一区二| 亚洲国产精品影院| 国产欧美综合在线观看第十页| 欧美日韩国产片| 成人理论电影网| 日韩高清在线观看| 怡红院av一区二区三区| 久久久精品国产免大香伊| 欧美性xxxxx极品少妇| 国产福利一区二区三区视频在线| 亚洲欧美精品午睡沙发| 国产三级精品视频| 日韩精品专区在线影院重磅| 91豆麻精品91久久久久久| 国产999精品久久| 蜜桃免费网站一区二区三区| 亚洲一二三区不卡| 中文字幕制服丝袜成人av| 日韩精品在线网站| 欧美精品粉嫩高潮一区二区| 99国产欧美另类久久久精品| 国产成人免费在线| 国产综合久久久久久久久久久久| 天天影视涩香欲综合网| 亚洲第一精品在线| 一区二区三区久久| 亚洲精品欧美综合四区| 中文字幕中文字幕一区二区| 国产亚洲欧美日韩日本| 久久久精品蜜桃| 久久精品免视看| 精品第一国产综合精品aⅴ| 日韩一区二区视频在线观看| 欧美美女直播网站| 欧美巨大另类极品videosbest | 一本色道久久综合亚洲精品按摩| 成人免费电影视频| 国产大陆亚洲精品国产| 国产一级精品在线| 韩国成人福利片在线播放| 狠狠色丁香婷婷综合久久片| 狠狠色丁香久久婷婷综合丁香| 美国一区二区三区在线播放| 毛片一区二区三区| 国产精品亚洲人在线观看| 国产一区二区美女诱惑| 国产a视频精品免费观看| 成人爽a毛片一区二区免费| 成人aa视频在线观看| 91美女片黄在线观看91美女| 色综合天天综合网国产成人综合天| 色综合视频在线观看| 91久久精品网| 欧美精品欧美精品系列| 51精品国自产在线| 26uuu国产一区二区三区| 久久久精品综合| 中文字幕一区二区日韩精品绯色| 日韩美女视频一区| 午夜一区二区三区视频| 奇米色777欧美一区二区| 国产精品综合二区| 97久久超碰精品国产| 欧美日韩黄视频| 精品免费视频.| 国产精品毛片高清在线完整版| 夜夜揉揉日日人人青青一国产精品 | 欧美亚洲图片小说| 日韩你懂的在线播放| 欧美韩国一区二区| 亚洲r级在线视频| 国产精品一区一区| 在线亚洲高清视频| 国产夜色精品一区二区av| 亚洲香肠在线观看| 韩国av一区二区| 色网站国产精品| 欧美xxxxx裸体时装秀| 一区二区三区中文免费| 精品一区二区三区免费毛片爱 | 亚洲视频精选在线| 蜜臀av性久久久久蜜臀av麻豆| 成人毛片视频在线观看| 91麻豆精品国产自产在线| 国产精品―色哟哟| 久久99日本精品| 欧美日韩在线三区| 国产精品久久久爽爽爽麻豆色哟哟 | 日韩视频免费观看高清在线视频| 国产精品网曝门| 奇米影视一区二区三区小说| 99国产精品久久久久| 久久综合久久综合久久| 一区二区成人在线| 国产一区二区在线视频| 欧美日韩不卡在线| 亚洲精品中文在线观看| 成人一区在线观看| 精品久久五月天| 午夜在线电影亚洲一区| 99在线精品一区二区三区| 国产亚洲欧洲997久久综合 | 日韩三级视频在线观看| 亚洲激情欧美激情| 成人黄色在线网站| 久久九九国产精品| 国产在线视频一区二区| 91精品综合久久久久久| 亚洲国产精品久久久久秋霞影院| 99久久精品国产一区二区三区| 久久婷婷久久一区二区三区| 青青青伊人色综合久久| 欧美日韩久久久一区| 一区二区日韩av| 一本到三区不卡视频| 亚洲免费在线视频| 成人av在线播放网站| 日本一区二区三区在线不卡| 国产一区二区在线免费观看| 精品国产在天天线2019| 极品少妇xxxx精品少妇| 精品国产91乱码一区二区三区| 九九**精品视频免费播放| 欧美成人高清电影在线| 精品在线免费观看|