亚洲免费成人av电影_日韩av免费在线看_国产精品久久久久久久久久_日韩成人在线电影网_久久精品视频播放_日本久久久a级免费_欧美午夜性色大片在线观看_国产精品69久久_黑人精品xxx一区一二区_1769国内精品视频在线播放_日韩大陆毛片av_日本久久精品视频_日韩av不卡电影_欧美性生活大片免费观看网址_91性高湖久久久久久久久_久久99_亚洲乱码国产乱码精品精

首頁 新聞 > 科技 > 正文

如何一步一步建立CAN通訊

CAN通訊的優(yōu)點在此就不多說了,10公里,5Kb/s的速度是能保證的。第一步:硬件環(huán)境的建立。這里采用的是SJA1000作為總線控制器,CTM8251模塊作為總線驅(qū)動器。MCU采用的是MEGA16:利用I/O口模擬數(shù)據(jù)總線,當(dāng)然也可以使用有總線的MCU:MCS-51,MEGA8515等。原理圖如下:第二步:SJA1000的控制首先閱讀下SJA1000的手冊,基本了解下SJA1000的結(jié)構(gòu),主要是寄存器方面的。還要了解下CAN總線方面的東西:BasicCAN,Peli CAN,遠(yuǎn)程幀,數(shù)據(jù)幀等等……SJA1000工作之前需要配置一下,才能正常工作,沒有經(jīng)過配置的SJA1000回拉壞總線的:組成網(wǎng)絡(luò)的時候,如果其中有的SJA1000沒有正確配置,這個設(shè)備會干擾總線,使其它設(shè)備的數(shù)據(jù)發(fā)送不出去。怎么才能控制SJA1000呢,請看下面的SJA1000讀寫的時序圖:寫的時序根據(jù)時序要求,可以利用I/O口模擬總線了://**************************讀SJA1000*************************//uint Read_SJA1000(uint address){uchar data;asm("nop");ALE_off;WR_on;RD_on;CAN_cs_on;DDRA=0xff; //數(shù)據(jù)口為輸出PORTA=address; //輸出數(shù)據(jù)的地址asm("nop");//delay5us(1);ALE_on;asm("nop");//delay5us(1);//DDRA=0xff; //數(shù)據(jù)口為輸出PORTA=address; //輸出數(shù)據(jù)的地址 //再次輸出地址,確保一致。asm("nop");//delay5us(1);ALE_off;//delay5us(1);CAN_cs_off;RD_off;asm("nop");//delay5us(2);asm("nop");DDRA=0x00; //數(shù)據(jù)口為輸入PORTA=0xff; //上拉asm("nop");data=PINA; //獲得數(shù)據(jù)asm("nop");//delay5us(1);RD_on;CAN_cs_on;asm("nop");//delay5us(2);//dog();return data;}//**************************寫SJA10000*************************//void Write_SJA1000(uint address,uint data){ asm("nop");//uint temp1,temp2;DDRA=0xff; //數(shù)據(jù)口為輸出PORTA=address; //輸出數(shù)據(jù)的地址CAN_cs_on;ALE_off;WR_on;RD_on;asm("nop");//delay5us(1);ALE_on;asm("nop");//delay5us(1);//DDRA=0xff; //數(shù)據(jù)口為輸出PORTA=address; //輸出數(shù)據(jù)的地址 再次輸出地址,確保數(shù)據(jù)準(zhǔn)確asm("nop");//delay5us(1);ALE_off;//delay5us(1);CAN_cs_off;WR_off;asm("nop");//delay5us(1);asm("nop");//DDRA=0xff;PORTA=data; //輸出數(shù)據(jù)asm("nop");//delay5us(2);WR_on;PORTA=data; //再次輸出數(shù)據(jù),取保一致CAN_cs_on;asm("nop");//delay5us(2);asm("nop");//dog();}現(xiàn)在可以讀寫SJA1000了。配置SJA1000需要使SJA1000進(jìn)入復(fù)位模式,然后對一些寄存器寫入數(shù)據(jù)。在這里,CAN使用Pelican模式,速率為5K,雙濾波工作,//*************************CAN復(fù)位初始化********************//void CAN_Init(void){ uchar i_temp=0,j_temp=0;CLI();//Read_SJA1000(CAN_IR); //讀中斷寄存器,清除中斷位Write_SJA1000(CAN_MOD,0x01);while(!(Read_SJA1000(CAN_MOD)&0x01))//保證進(jìn)入復(fù)位模式,bit0.0不為1,再寫CAN_MOD{Write_SJA1000(CAN_MOD,0x01);dog();}Write_SJA1000(CAN_CDR,0xc8); //配置時鐘分頻寄存器-Pelican,CBP=1,//關(guān)閉TX1中斷與時鐘輸出Write_SJA1000(CAN_AMR0,0xff); //配置驗收屏蔽AMR0=0FFHWrite_SJA1000(CAN_AMR1,0x00); //配置驗收屏蔽AMR1=000HWrite_SJA1000(CAN_AMR2,0xff); //配置驗收屏蔽AMR2=0FFHWrite_SJA1000(CAN_AMR3,0x00); //配置驗收屏蔽AMR3=000HWrite_SJA1000(CAN_ACR1,0x00); //配置驗收代碼ACR1=0:廣播Write_SJA1000(CAN_ACR3,addr); //配置驗收代碼ACR3=地址Write_SJA1000(CAN_BTR0,0x7f); //配置總線定時--5kbpsWrite_SJA1000(CAN_BTR1,0xff);Write_SJA1000(CAN_OCR,0x1a); //配置輸出控制Write_SJA1000(CAN_EWLR,0xff); //配置錯誤報警限制為255do{Write_SJA1000(CAN_MOD,0x00); //進(jìn)入工作模式雙濾波dog();}while((Read_SJA1000(CAN_MOD))&0x01); // 確認(rèn)復(fù)位標(biāo)志是否被刪除Write_SJA1000(CAN_TXB+4,ID3); //配置發(fā)送緩沖區(qū)的ID3-Write_SJA1000(CAN_IER,0x07); //配置SJA10000中斷-錯誤報警/發(fā)送/接收中斷SEI();}在這之前,需要獲取設(shè)備的地址,就是讀取撥碼開關(guān)各個腳的電平。需要注意的是,SJA1000使用的是雙濾波模式,響應(yīng)地址有:廣播的:0x00,還有自己的地址:0x**。為什么要這么做呢,一個系統(tǒng)中,主機(jī)的地址一般是0X00,從機(jī)地址從0X01開始,這里面如果有兩個從機(jī)的地址一樣,就很可能產(chǎn)生一些混亂。從機(jī)一旦多了起來,查找地址相同的設(shè)備就有些麻煩了。在程序的初始化的時候,進(jìn)行SJA1000的配置。第三部:工作程序接下來,做的工作就是CAN試發(fā)送,別小看這個試發(fā)送,這可是解決地址重復(fù)的問題的哦,還能檢測CAN網(wǎng)絡(luò)是否正常。//****************CAN第一次發(fā)送 通訊地址測試2e*****************//void CAN_first_send(void){ //uchar add_temp=0;uchar a_temp=0;uchar SR_temp;asm("nop"); //延時NET_LED_on; //打開網(wǎng)絡(luò)燈do{a_temp=Read_SJA1000(CAN_SR);//讀CAN_SR,直到SR.2=1:CPU可以發(fā)送數(shù)據(jù)dog();}while(!(a_temp&0x04))CLI(); //關(guān)CAN中斷,即總中斷Write_SJA1000(CAN_TXB+0,0xc0); //發(fā)送遠(yuǎn)程幀0xc0Write_SJA1000(CAN_TXB+1,0x00); //發(fā)送轉(zhuǎn)接器地址Write_SJA1000(CAN_TXB+2,addr); //發(fā)送傳感器地址Write_SJA1000(CAN_TXB+3,0x2e); //發(fā)送命令碼0x2eWrite_SJA1000(CAN_TXB+4,ID3); //發(fā)送ID3Write_SJA1000(CAN_CMR,0x01); //啟動發(fā)送,//網(wǎng)絡(luò)故障錯誤在中斷中處理,短接H、L,按復(fù)位,先亮綠燈,后黃燈亮asm("nop");//SEI();}SJA1000的中斷引腳接到MEGA16的INT1上,需要在程序初始化的時候,配置一些INT1,使MCU能響應(yīng)SJA1000的中斷。數(shù)據(jù)發(fā)送前,點亮網(wǎng)絡(luò)指示燈,什么時候熄滅它呢,在發(fā)送中斷中熄滅它。下面看看MCU對SJA1000中斷的一些處理:在這里只處理:接收中斷、發(fā)送中斷、總線關(guān)閉中斷。#pragma interrupt_handler can_int:3void can_int(void){asm("nop");CAN_IR_temp=Read_SJA1000(CAN_IR); //讀取中斷寄存器if(CAN_IR_temp&0x01) //接收中斷{Get_RXB_temp();if(RxBuffer[0]==0x80) //地址測試數(shù)據(jù)幀{reload(); //數(shù)據(jù)幀中有和自己相同的地址}if(RxBuffer[0]==0xc0) // 遠(yuǎn)程幀則釋放接收緩沖區(qū){type=RxBuffer[3]; //讀命令碼//處理命令碼if(type==0x30){ if(type==0x34){CAN_now_value_send();type=0;} //傳瞬時值數(shù)據(jù)if (type==0x27){reload(); type=0;}//裝置復(fù)位if(type==0x2e){active();type=0;} //通訊地址測試}Write_SJA1000(CAN_CMR,0x04); //釋放接收緩沖區(qū)}if(CAN_IR_temp&0x02) //發(fā)送中斷{NET_LED_off; //關(guān)閉網(wǎng)絡(luò)燈ERR_LED_off; //關(guān)閉故障燈CANBE_JSQ=0; //復(fù)位總線關(guān)閉計數(shù)器asm("nop");}if(CAN_IR_temp&0x04) //錯誤報警中斷(僅有總線關(guān)閉處理){ //讀狀態(tài)寄存器,SR.7總線關(guān)閉:CAN控制器不參與總線活動CAN_SR_temp=Read_SJA1000(CAN_SR);if(CAN_SR_temp&0x80){CANBE_JSQ=CANBE_JSQ+1; //關(guān)閉次數(shù)加1if(CANBE_JSQ=CANBE_C) //總線關(guān)閉次數(shù)到達(dá)設(shè)定次數(shù){NET_LED_off; //關(guān)閉網(wǎng)絡(luò)燈ERR_LED_on; //打開故障燈CANBE_JSQ=0; //復(fù)位總線關(guān)閉計數(shù)器do{Write_SJA1000(CAN_MOD,0x00); //重新進(jìn)入工作模式}while((Read_SJA1000(CAN_MOD))&0x01);//等待進(jìn)入工作模式Write_SJA1000(CAN_CMR,0x01); //啟動CAN重新發(fā)送CANBE_JSQ=CANBE_C; //防止CANBE_JSQ溢出}}asm("nop");}}中斷程序中,對命令碼等于0x2e的處理程序是:active();active()程序如下://************************通訊地址測試2EH***********************//void active(void){uchar temp1,temp2;asm("nop"); //延時NET_LED_on; //打開網(wǎng)絡(luò)燈CLI(); //關(guān)CAN中斷,即總中斷do{temp1=Read_SJA1000(CAN_SR);//讀CAN_SR,直到SR.2=1:CPU可以發(fā)送數(shù)據(jù)dog();}while(!(temp1&0x04));Write_SJA1000(CAN_TXB+0,0x80); //發(fā)送數(shù)據(jù)幀0x80temp2=Read_SJA1000(CAN_RXB+1);Write_SJA1000(CAN_TXB+1,temp2); //發(fā)送轉(zhuǎn)接器地址Write_SJA1000(CAN_TXB+2,addr); //發(fā)送傳感器地址Write_SJA1000(CAN_TXB+3,0x2e); //發(fā)送命令碼0x2eWrite_SJA1000(CAN_TXB+4,ID3); //發(fā)送ID3Write_SJA1000(CAN_CMR,0x01); //啟動發(fā)送SEI(); //開中斷asm("nop");}大家仔細(xì)看看 active()程序的內(nèi)容,發(fā)送了一個沒有數(shù)據(jù)的數(shù)據(jù)幀:0X80,再回過頭看看中斷處理函數(shù),里面有這段程序, if(RxBuffer[0]==0x80) //地址測試數(shù)據(jù)幀{reload(); //數(shù)據(jù)幀中有和自己相同的地址}reload(); 程序很簡單,就是停止喂狗,等待復(fù)位。復(fù)位之后呢,它會進(jìn)行試發(fā)送,哈哈,接下來的兩個地址相同的設(shè)備就“打架”起來了,現(xiàn)象就是一個設(shè)備不斷復(fù)位,一個設(shè)備通訊燈不斷閃爍。怎么樣,很容易就判斷出哪兩個地址重復(fù)了。命令碼等于0x27時,設(shè)備復(fù)位,一般是主機(jī)發(fā)送這個遠(yuǎn)程幀。0x34時,發(fā)送數(shù)據(jù)://************************瞬時值發(fā)送 34H*********************//void CAN_now_value_send(void){//uchar a_temp=0;uchar c_temp=0;js_now_send_value(); //計算需要發(fā)送的瞬間數(shù)值asm("nop"); //延時NET_LED_on; //打開網(wǎng)絡(luò)燈do{b_temp=Read_SJA1000(CAN_SR); //讀CAN_SR,直到SR.2=1:CPU可以發(fā)送數(shù)據(jù)dog();}while(!(b_temp&0x04))CLI(); //關(guān)CAN中斷,即總中斷Write_SJA1000(CAN_TXB+0,0x84); //發(fā)送數(shù)據(jù)幀0x84Write_SJA1000(CAN_TXB+1,RxBuffer[1]); //發(fā)送轉(zhuǎn)接器地址Write_SJA1000(CAN_TXB+2,addr); //發(fā)送傳感器地址Write_SJA1000(CAN_TXB+3,0x34); //發(fā)送命令碼0x34Write_SJA1000(CAN_TXB+4,ID3); //發(fā)送ID3Write_SJA1000(CAN_TXB+5,CBDJ_Send_L); //Write_SJA1000(CAN_TXB+6,CBDJ_Send_H); //Write_SJA1000(CAN_TXB+7,GD_Send_L); //Write_SJA1000(CAN_TXB+8,GD_Send_H); //Write_SJA1000(CAN_CMR,0x01); //啟動發(fā)送SEI(); //開中斷asm("nop");}發(fā)送了一個數(shù)據(jù)幀,這個數(shù)據(jù)幀有四字節(jié)的數(shù)據(jù)。CAN的數(shù)據(jù)幀最多支持有8個字節(jié)的數(shù)據(jù)幀,如果數(shù)據(jù)較多,可以分為多個數(shù)據(jù)幀,在命令碼里面區(qū)分這些數(shù)據(jù)幀。第四步:建立自己的CAN通訊網(wǎng)絡(luò)。主機(jī)可以是一臺有CAN接口的計算機(jī),一般在計算機(jī)上裝一個CAN接口卡,有ISA接口的,比如PCL-841;PCI接口的。CAN卡的銷售商都會提供驅(qū)動,依靠驅(qū)動里面的函數(shù),來控制CAN卡,此項不是專長,不好多說,反正就是這個思路。好了,昨天從南京回來的路上,就考慮發(fā)個CAN的東西。咱們這個論壇,目前還沒有多少關(guān)于CAN的帖子,意在拋磚引玉…………本壇高手很多,尤其是有很多潛水的高高手~~~~--------------------程序中的一些DEFINE//******************引腳信號定義***************************//#define CS_1 (PORTB|= (1<<4 )) //AD7705片選#define CS_0 (PORTB&= ~(1<<4 ))#define DRDY (PINB&0x08) //AD轉(zhuǎn)換DRDY信號輸入#define NET_LED_off (PORTB|= (1<<0 )) //網(wǎng)絡(luò)故障燈高電平,熄滅#define NET_LED_on (PORTB&= ~(1<<0 )) //網(wǎng)絡(luò)故障燈低電平,點亮#define ERR_LED_off (PORTB|= (1<<1 )) //裝置故障燈高電平,熄滅#define ERR_LED_on (PORTB&= ~(1<<1 )) //裝置故障燈低電平,點亮#define DOG_on (PORTB|= (1<<2 )) //看門狗高#define DOG_off (PORTB&= ~(1<<2 )) //看門狗低#define WR_on (PORTD|= (1<<0 )) //WR高#define WR_off (PORTD&= ~(1<<0)) //WR低#define RD_on (PORTD|= (1<<1 )) //RD高#define RD_off (PORTD&= ~(1<<1)) //RD低#define CAN_cs_on (PORTD|= (1<<4 )) //CAN高#define CAN_cs_off (PORTD&= ~(1<<4)) //CAN低#define ALE_on (PORTD|= (1<<2 )) //ALE高#define ALE_off (PORTD&= ~(1<<2)) //ALE低#define FALSE 0#define TRUE 1#define CANBE_C 6 //總線關(guān)閉次數(shù)設(shè)定值//*******************CAN寄存器地址**************************//#define CAN_MOD 0 //模式寄存器#define CAN_CMR 1 //命令寄存器 只寫#define CAN_SR 2 //狀態(tài)寄存器 只讀#define CAN_IR 3 //中斷寄存器 只讀#define CAN_IER 4 //中斷使能寄存器#define CAN_BTR0 6 //總線定時寄存器0#define CAN_BTR1 7 //總線定時寄存器1#define CAN_OCR 8 //輸出控制寄存器#define CAN_TEST 9 //測試寄存器#define CAN_ALC 11 //仲裁丟失寄存器#define CAN_ECC 12 //錯誤代碼捕捉寄存器#define CAN_EWLR 13 //錯誤報警限制寄存器#define CAN_EXERR 14 //RX錯誤計數(shù)寄存器#define CAN_TXERR 15 //TX錯誤計數(shù)寄存器#define CAN_ACR0 16 //驗收碼寄存器0#define CAN_ACR1 17 //驗收碼寄存器1#define CAN_ACR2 18 //驗收碼寄存器2#define CAN_ACR3 19 //驗收碼寄存器3#define CAN_AMR0 20 //驗收屏蔽寄存器0#define CAN_AMR1 21 //驗收屏蔽寄存器1#define CAN_AMR2 22 //驗收屏蔽寄存器2#define CAN_AMR3 23 //驗收屏蔽寄存器3#define CAN_TXB 16 //發(fā)送緩沖區(qū)首地址(工作模式)#define CAN_RXB 16 //接收緩沖區(qū)首地址(工作模式)#define CAN_RMC 29 //RX信息計數(shù)器#define CAN_RBSA 30 //RX緩沖區(qū)起始地址寄存器#define CAN_CDR 31 //時鐘分頻器#define ID3 00 //ID3-----------------------------初始化程序uchar main_ch=0;IO_Init(); //I/O口初始化INT1_Init();GET_add(); //獲取地址,地址為0,反復(fù)獲取地址,直到不為0。NET_LED_on;ERR_LED_on; //初始化中,點亮故障燈和通訊燈,delay50ms(2);dog();delay50ms(2);dog();delay50ms(2);dog();CAN_Init(); //CAN初始化NET_LED_off;ERR_LED_off;SEI();CAN_first_send(); //CAN試發(fā)送delay50ms(1);dog();void GET_add(void) //地址獲取程序{uchar add_temp=0,add_temp1=0,add_temp2=0,add_temp3=0,addr_temp=0;do{dog();NET_LED_on;ERR_LED_on;add_temp1=PINC&0xc3;add_temp2=add_temp1>>4;add_temp1=add_temp1&0x03;add_temp3=(PIND&0xe0)>>1;add_temp=add_temp1+add_temp2+add_temp3;add_temp=(~add_temp)&0x7f;addr=add_temp;delay50ms(2);}while(addr==0);}

關(guān)鍵詞: CAN通訊硬件環(huán)

最近更新

關(guān)于本站 管理團(tuán)隊 版權(quán)申明 網(wǎng)站地圖 聯(lián)系合作 招聘信息

Copyright © 2005-2018 創(chuàng)投網(wǎng) - www.474933.com All rights reserved
聯(lián)系我們:33 92 950@qq.com
豫ICP備2020035879號-12

 

超碰在线观看av| 亚洲成人av一区| 国产伦精品一区二区三区在线| 国产精品亚洲人成在99www| 免费观看亚洲视频| 日本高清一区二区视频| 国产视频精品久久久| 日韩精品一二三四| 日韩精品电影一区二区三区| 免费高清在线观看| 国产在视频线精品视频| 日本www在线| 日本一道高清一区二区三区| 国产精品爽爽爽| 瑜伽美女视频| 99热手机在线观看| 亚洲国产精品悠悠久久琪琪| 久久精品亚洲94久久精品| 91免费看网站| 国产视频在线观看一区二区三区| 日韩人在线观看| 成人app下载| 国产精品久久久久久久泡妞| 宅男深夜国产| 91精品国自产在线偷拍蜜桃| 国产高清自拍视频| 亚洲国产精选| 亚洲乱码久久| 国产原创中文av| zzzwww在线看片免费| 可以看毛片的网址| 欧美三级精品| 国产aaaaa毛片| 精品不卡一区二区| 欧美午夜精品理论片a级按摩| h1515四虎成人| 国产一区二区三区视频在线播放| 在线视频欧美一区| 91成人观看| 在线观看日韩av| 丰满少妇又爽又紧又丰满69| 91免费观看| a视频免费在线观看| 五月天免费网站| 欧美日韩在线播放一区| 777午夜精品免费视频| 国产精品高潮呻吟| 国产又色又爽又黄又免费| 性囗交免费视频观看| 日韩精品最新在线观看| 日韩乱码在线观看| 日韩精品永久网址| 欧美日韩成人影院| 久久精品国产清自在天天线| 春暖花开亚洲一区二区三区| 亚洲青青久久| 91啪亚洲精品| 国产女同互慰高潮91漫画| 亚洲日韩欧美视频一区| 亚洲天堂一区二区| 香蕉成人伊视频在线观看| 欧美噜噜久久久xxx| 久久久国产精品不卡| 久久久91麻豆精品国产一区| 91亚洲精品在线观看| 欧美三级电影网站| 欧美黑白配在线| 国产卡1卡2卡三卡在线| jizz大全欧美jizzcom| 免费观看久久久4p| 狠狠躁日日躁夜夜躁av| 亚洲视频日韩| 欧美在线关看| 日韩极品在线| 国产精品加勒比| 国产男男gay体育生白袜| 欧美尺度大的性做爰视频| 日韩欧美在线视频播放| 国产日韩高清一区二区三区在线| 欧美美女日韩| 正在播放木下凛凛xv99| 成人无码精品1区2区3区免费看| 国产一区一区| 日韩不卡高清视频| 亚洲午夜电影在线| 特黄国产免费播放| 日本美女一区二区三区| 成人午夜视频福利| 99久热在线精品996热是什么| 久久99日本精品| 精品在线一区二区三区| 日本国产欧美一区二区三区| 成人av网站在线观看| 麻豆传媒一区二区三区| 日本视频在线观看一区二区三区| 妺妺窝人体色www聚色窝仙踪| 久草在线资源站资源站| 在线视频亚洲欧美| 亚洲视频在线播放免费| 中文在线一二区| 亚洲国产日韩欧美在线图片| 夜夜躁日日躁狠狠久久88av| 国户精品久久久久久久久久久不卡| 东京热av一区| 视频国产在线观看| 114美女做爰视频在线| 精品欠久久久中文字幕加勒比| 久久综合九色欧美综合狠狠| 91传媒视频免费| 日本一本在线免费福利| 日本少妇在线观看| 欧美裸体在线版观看完整版| 能免费看av的网站| 国产成人精品免费久久久久| 欧美成人第一页| 伊人网站在线| 成人三级视频在线观看一区二区| 国产一区二区视频免费在线观看| 国产精品免费一区二区三区都可以| 风韵丰满熟妇啪啪区老熟熟女| 日韩成人在线电影| 国产三级一区二区| 日韩免费视频一区二区视频在线观看| free性欧美69巨大| 国产99在线免费| 无码h黄肉3d动漫在线观看| 中文成人无字幕乱码精品区| 中文天堂在线资源| 一区二区三区四区免费观看| 黑人操亚洲女人| 欧美午夜春性猛交xxxx| 日韩中文字幕免费在线| 中文字幕 国产| 亚洲男人av电影| 日韩在线卡一卡二| 国产精品国产自产拍高清av| 欧美一级特黄视频| 欧美a大片欧美片| 亚洲色图五月天| 欧美日韩国产色综合一二三四| 精品伦理精品一区| 国产亚洲欧洲黄色| 欧美肉大捧一进一出免费视频| 日韩另类在线| 亚洲老妇色熟女老太| 99国产精品一区二区三区| 一级黄色免费片| 91精品国产乱码久久久竹菊| 国产一区私人高清影院| 成 人 黄 色 小说网站 s色| 五月天中文字幕在线| 亚洲女在线观看| 日本中文一区二区三区| 国产破处视频在线观看| 欧洲日韩一区二区三区| 一区两区小视频| 97在线视频免费观看| 久久国产小视频| 国产精品色网| 亚洲国产精品天堂| 欧美日韩一区二区三区视视频| 亚洲在线观看视频| 国产精品51麻豆cm传媒| 欧美日韩亚洲高清一区二区| 在线视频欧美性高潮| 久久国产精品99久久久久久丝袜| 日韩午夜电影在线观看| 天天干天天爽| 另类少妇人与禽zozz0性伦| 成人精品美女隐私视频| 日韩精品在线观看一区| 精品国产乱码久久久久久郑州公司| 91在线资源站| 国产午夜精品一区在线观看| 国产在线观看不卡一区二区三区| 奇米影视888狠狠狠| 九九亚洲视频| 国产99久久久国产精品| 成人国产亚洲欧美成人综合网| 欧美一级日韩不卡播放免费| 成人黄色激情网| 精品久久人人做人人爰| 欧美色资源站| segui88久久综合| 亚洲欧美在线播放| 国产一二三四在线| 欧美日韩国产综合在线| 日韩一区二区三区中文字幕| 亚洲欧美精品日韩欧美| 亚洲曰韩产成在线| 999国产精品999久久久久久| 欧美久久久久久| 国产人妻一区二区| 久草在线在线| 伊人久久一区二区| 欧美日韩在线大尺度| www.蜜臀av| 韩国一区二区视频| 色资源二区在线视频| 最近2019年好看中文字幕视频| 欧美日韩国产在线一区| 国产高潮av| 手机在线看片日韩| 久久久精品免费免费| 欧美美女性生活视频| 免费午夜视频在线观看| 精品国产不卡| 欧美三级韩国三级日本三斤在线观看| 久久精品久久久久久国产 免费| 国产精品一区久久| xf在线a精品一区二区视频网站| 最近免费中文字幕在线第一页| 国产日韩欧美自拍| 中文字幕777| 日韩亚洲不卡在线| 一区二区不卡久久精品| 国产精品白丝jk喷水视频一区| 国产精品二区在线观看| 色一色在线观看视频网站| 国产91亚洲精品一区二区三区| 欧美性色黄大片手机版| 国产精品x453.com| 免费cad大片在线观看| 国产精品理论在线| 日本国产一区二区| 国产激情一区二区三区| 在线免费观看a视频| 国产精品揄拍500视频| 日韩视频―中文字幕| 国产日韩欧美一区二区东京热| 亚洲第一精品夜夜躁人人躁| 国产欧美日韩高清| 国产精品久久久久久福利一牛影视| 国产69精品久久久久9| 成人高潮aa毛片免费| 午夜激情在线视频| 欧美亚洲另类视频| 无码人妻精品中文字幕| 美日韩精品免费观看视频| eeuss鲁片一区| 成人在线播放免费观看| 亚洲一区在线播放| 麻豆精品国产传媒mv男同| 久久av在线播放| 青青青青草视频| 久久这里只有精品18| 亚洲剧场午夜在线观看| 欧美人与牲禽动交com| 欧美一卡二卡三卡| 日韩不卡在线观看日韩不卡视频| av伦理在线| 麻豆91在线播放| 开心九九激情九九欧美日韩精美视频电影| 九色porny自拍视频在线观看| 最近中文字幕无免费| 最近免费中文字幕mv视频| 亚洲第一天堂久久| 欧美写真视频网站| 国产精伦一区二区三区| 欧美xxxx免费虐| 懂色av粉嫩av蜜臀av一区二区三区| 成人在线综合网站| 黄瓜视频免费观看在线观看www| 欧美一区二区三区在| 精精国产xxxx视频在线野外| 99久久99热久久精品免费看| 国产乱淫av片杨贵妃| 六月丁香久久丫| 九色在线观看视频| 成人小视频免费观看| 91在线三级| 熟妇熟女乱妇乱女网站| 黄色一级免费| 日韩精品导航| 国产自产一区二区| 欧美午夜电影在线观看| 亚洲性线免费观看视频成熟| 亚洲免费播放| 一区二区视频在线免费观看| 美女三级99| 亚洲人成在线电影| 人九九综合九九宗合| 国产高清视频一区二区| 亚洲自拍电影| 国产亚洲色婷婷久久| 国产成人天天5g影院| 一区二区三区电影| 在线精品视频小说1| 国产日韩精品中文字无码| 国产精品免费视频久久久| 国产精品欧美精品| 中国女人内谢69xxxx视频| 亚洲欧美福利视频| 一区视频免费观看| 国产精品12| 在线看片国产福利你懂的| 鲁丝一区鲁丝二区鲁丝三区| va中文字幕| 欧美日韩三级在线观看| 一区二区三区四区不卡视频| 夫妻免费无码v看片| 久久69精品久久久久久国产越南| www.在线欧美| 精品国产影院| **毛片在线网站| 热re66久久精品国产99re| 日韩精品高清视频| 一二三四视频在线中文| 伊大人久久香线焦宗合一75大| 国产ktv在线视频| 天天综合在线观看| 国产真人真事毛片视频| 最新国产在线拍揄自揄视频| 久久久久亚洲精品中文字幕| 福利资源在线观看| 国产一区二区在线免费观看| 久久偷看各类女兵18女厕嘘嘘| 国产精品爽爽ⅴa在线观看| 白白在线精品| 日本一区二区三区精品视频| 精品卡一卡二卡三卡四在线| 国产91精品最新在线播放| 精品无人乱码一区二区三区的优势| 欧美乱做爰xxxⅹ久久久| 久久久久久无码精品大片| 国产91九色蝌蚪| 国产又大又粗又爽的毛片| 国产精品xnxxcom|