国产剧情视频在线观看-国产剧情麻豆女教师在线观看-国产剧情精品在线观看-国产剧情精品-国产剧情91-国产玖玖在线观看

以文本方式查看主題

-  曙海教育集團(tuán)論壇  (http://www.hufushizhe.com/bbs/index.asp)
--  Wince技術(shù)討論區(qū)  (http://www.hufushizhe.com/bbs/list.asp?boardid=9)
----  主要討論在WinCE設(shè)計(jì)和開(kāi)發(fā)C...WindowsCE.Net下CAN卡的驅(qū)動(dòng)程序設(shè)計(jì)31028  (http://www.hufushizhe.com/bbs/dispbbs.asp?boardid=9&id=1392)

--  作者:wangxinxin
--  發(fā)布時(shí)間:2010-11-16 14:31:36
--  主要討論在WinCE設(shè)計(jì)和開(kāi)發(fā)C...WindowsCE.Net下CAN卡的驅(qū)動(dòng)程序設(shè)計(jì)31028
3、4、5、6、7、9、10、11、12、15,同時(shí)1000V的光電隔離提供系統(tǒng)高可靠性。在CAN卡通信中,要用到CAN控制器中的很多寄存器,各個(gè)寄存器的含義和作用可以參考控制芯片的說(shuō)明書(shū)。圖1列出驅(qū)動(dòng)程序設(shè)計(jì)中用到最主要的寄存器結(jié)構(gòu)。

2 CAN卡驅(qū)動(dòng)底層函數(shù)設(shè)計(jì)

本方案設(shè)計(jì)CAN驅(qū)動(dòng)是放在Windows CE操作系統(tǒng)的內(nèi)核下層,圖片點(diǎn)擊可在新窗口打開(kāi)查看位于OEM adaptation layer(OAL)層的一個(gè)真正的驅(qū)動(dòng),而不是在主程序中的串口操作。在Windows CE的設(shè)備管理器可以看到CAN1和CAN2兩個(gè)端口,并且可以查看其工作的正常與否和對(duì)其進(jìn)行配置。如:中斷號(hào)和I/O地址。

2.1 CAN卡寄存器讀寫(xiě)函數(shù)

CAN卡的通信是通過(guò)操作CAN卡上的CAN控制器進(jìn)行的。在CAN控制器中有很多寄存器,如控制寄存器、命令寄存器、狀態(tài)寄存器、中斷寄存器等,通過(guò)讀寫(xiě)這些寄存器中的命令狀態(tài)字可以檢測(cè)和控制CAN卡的行為。在Windows CE.NET下,通過(guò)調(diào)用DOK中的API函數(shù)HalTranslateBusAddress,將CAN卡分配的物理地址映射為邏輯地址。這樣各個(gè)寄存器對(duì)應(yīng)的就是CAN卡基地址的偏移地址,因此,對(duì)寄存器的讀寫(xiě)就轉(zhuǎn)化為對(duì)內(nèi)存地址的讀寫(xiě)。下面是CAN卡寄存器的讀寫(xiě)函數(shù):

*在偏移量為off的地址讀取一個(gè)字節(jié)的數(shù)據(jù)inline BYTE CANR(LPCAN_HW_OPEN_INFO hCan,DWORD off)

{

return hCan->lpCanHWInfo->lpCanObj->lpMappedBaseAddr[off];

*將一個(gè)字節(jié)數(shù)據(jù)寫(xiě)到偏移量為off的地址中inline VOID CANW(LPCAN_HW_OPEN_INFO hCan,DWORD off,BYTE val)

{

hCan->lpCanHWInfo->lpCanObj->lpMappedBaseAddr[off]=val;

}

參數(shù)LPCAN_HW_OPEN_INFO定義的是CAN卡的數(shù)據(jù)結(jié)構(gòu),其中成員lpMappeBaseAddr[0]表示的是映射后基地址,lpMappedBaseAddr[1]就是基地址+1的地址,對(duì)應(yīng)CAN卡的寄存器是命令寄存器。通過(guò)上述兩個(gè)函數(shù)可操作CAN卡上的所有寄存器。

2.2 CAN卡初始化

CAN卡的控制器比較復(fù)雜,在通信前必須確認(rèn)硬件信息正確性、初始化各寄存器。初始化函數(shù)的基本流程如圖3所示。

第一步,檢查端口號(hào)和硬件信息的正確性,主要是CAN卡中斷號(hào)是否有效。

第二卡,設(shè)置CAN卡默認(rèn)參數(shù):

CanCardConfigInfo CAN_DEFAULT_SETTING=

{0X00,0XFF,0X03,0X1C};/*設(shè)置默認(rèn)波特率為125Kbps*/

DWORD dwThreadID =0;

PHYSICAL_ADDRESS phyAddr={hwInfo->dwIOBaseAddr *16,0 };

第三卡,用WinCE API函數(shù)LocalAlloc為CAN卡驅(qū)動(dòng)中用到的數(shù)據(jù)結(jié)構(gòu)分配緩沖區(qū);通過(guò)HalTranslateBusAddress和MmMapIoSpace函數(shù)映射I/O地址,提供直接訪(fǎng)問(wèn)設(shè)備的虛擬地址:

if(!HalTranslateBusAddress(Isa,0,phyAddr,0,&phyAddr))

goto _ExitInit;

hCan->lpCanHWInfo->lpCanObj->lpMappedBaseAddr=

(LPBYTE)MmMapIoSpace(phyAddr,CANCARDADDRLEN,FALSE);

if(!hCan->lpCanHWInfo->lpCanObj->lpMappedBaseAddr)

goto _ExitInit;

如果分配內(nèi)存或映射邏輯地址失敗,則退出初始化程序,CAN卡初始化失敗。

第四步,初始化讀寫(xiě)屬性、共享模式、讀超時(shí)時(shí)間和第二個(gè)CAN口的基地址。

第五步,創(chuàng)建CAN卡事件和數(shù)據(jù)接收事件:hCan->lpCanHWInfo->hCanEvent=CreateEvent(NULL,FALSE,FALSE,NULL);

hCan->lpCanHWInfo->hRecvMsgEvent=CreateEvent(NULL,FALSE,FALSE,NULL);

第六步,初始化中斷,如果CAN卡有復(fù)位請(qǐng)求就退出初始化程序。設(shè)置好中斷后啟動(dòng)數(shù)據(jù)接收線(xiàn)程,設(shè)置線(xiàn)程優(yōu)先級(jí)繼續(xù)線(xiàn)程處理;最后配置CAN卡參數(shù),進(jìn)入正常運(yùn)行狀態(tài)。

2.3 CAN卡信息發(fā)送

CAN卡的信息發(fā)送分為兩個(gè)步驟。在對(duì)CAN卡基本信息進(jìn)行檢查后,首先設(shè)置發(fā)送緩沖的ID號(hào)。CAN標(biāo)準(zhǔn)模式的ID號(hào)為11位,偏移地址10中存放的是ID號(hào)的高8位,偏移地址11的高3位存放的是ID號(hào)的低3位,剩下5位分別是RTR位(遠(yuǎn)程傳送請(qǐng)求位)和數(shù)據(jù)長(zhǎng)度。通過(guò)CANW函數(shù)將處理后的數(shù)據(jù)寫(xiě)入到相應(yīng)的偏移地址,設(shè)置完相應(yīng)的地址數(shù)據(jù)后,通過(guò)循環(huán)將偏移地址12~19的數(shù)據(jù)采集回來(lái)存到數(shù)組中。然后,設(shè)置CAN卡的傳輸請(qǐng)求為允許并不斷偵測(cè)狀態(tài)寄存器的變化,當(dāng)傳輸緩沖滿(mǎn)標(biāo)志或傳輸結(jié)束標(biāo)志為1時(shí)通出程序,完成一次數(shù)據(jù)采集。傳輸緩沖區(qū)的寄存器如表1所列。

表1

ID號(hào) 10 ID.10 ID.9 ID.8 ID.7 ID.6 ID.5 ID.4 ID.3
RTR,數(shù)據(jù)長(zhǎng)度碼 11 ID.2 ID.1 ID.0 RTR DLC.3 DLC.2 DLC.1 DLC.0
數(shù)據(jù)1~8 12~19 數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù)

表2

ID號(hào) 20 ID.10 ID.9 ID.8 ID.7 ID.6 ID.5 ID.4 ID.3
RTR,數(shù)據(jù)長(zhǎng)度碼 21 ID.2 ID.1 ID.0 RTR DLC.3 DLC.2 DLC.1 DLC.0
數(shù)據(jù)1~8 22~29 數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù)

CAN消息發(fā)送函數(shù)的實(shí)現(xiàn)如下:

BOOL CAN_SendMessage(LPCAN_HW_OPEN_INFO hCan,LPCanCardMessageBuflpMsg)

{

BOOL bSuc=FALSE;

ASSERT(hCan && lpMsg && lpMsg->dwMessageLen <=8); /*防錯(cuò)處理*/

if(0= =(hCan->dwAccessCode & GENERIC_WRITE))

return FALSE;

:: EnterCriticalSection(&hCan->lpCanHWInfo->

TransmitCritSec); /*進(jìn)入臨界區(qū)*/

BYTE byV=static_cast<BYTE>(1pMsg->dwMsgID>>3);

CANW(hCan,10,byV); /*設(shè)置ID值高8位*/

byV=static_cast<BYTE>=((lpMsg->dwMsgID & 7)<<5);

if(lpMsg->bRTR) byV|=0x10;

byV+=static_cast<BYTE>(lpMsg->dwMessageLen);

CANW(hCan,11,byV);/*設(shè)置ID值低3位、RTR及數(shù)據(jù)長(zhǎng)度*/

for(UINT i=0;<lpMsg->dwMessageLen;++i)

{

CANW(hCan,12+i,lpMsg->byMsg[i]);

} /*采集數(shù)據(jù)*/

CANW(hCan,1,1);/*重置傳輸請(qǐng)求*/

while(TRUE)

{byV=CANR(hCan,2);

if(byV & 0X40) /*傳輸緩沖區(qū)滿(mǎn),退出*/

{break;}

if(byV & 0X8){ /*傳輸結(jié)束,正確返回退出*/

bSuc = TRUE;

break;}

}

::LeaveCriticalSection(&hCan->lpCanHWInfo->TransmitCritSec); /*離開(kāi)臨界區(qū)*/

return bSuc;

}

2.4 CAN卡信息接收

CAN卡的信息接收是發(fā)送的逆過(guò)程,當(dāng)接收緩沖區(qū)標(biāo)志為1時(shí),表示緩沖區(qū)已滿(mǎn)可以接收數(shù)據(jù),將數(shù)據(jù)接收到數(shù)組后釋放接收緩沖區(qū),然后對(duì)接收到的數(shù)據(jù)進(jìn)行分解并存儲(chǔ)到CAN卡信息緩沖區(qū)的結(jié)構(gòu)體。接收緩沖區(qū)的寄存器結(jié)構(gòu)如表2所列。

CAN消息接收函數(shù)的實(shí)現(xiàn)如下:

BOOL CAN_RecvRecvMessage(LPCAN_HW_OPEN_INFO

HCan,OUT LPCanCardMessageBuflpMsg)

{……

if(CANR(hCan,2)&1){ /*判斷接收緩沖區(qū)是否已滿(mǎn)*/

for(UINT i=0;i<10;++i)

recvBuf[i]=CANR(hCan,20+i);/*將數(shù)據(jù)暫存到臨時(shí)緩沖區(qū)*/

CANW(hCan,1,4); /*釋放接收緩沖區(qū)*/

LpMsg->dwMsgID=recvBuf[0]<<3; /*取出ID的高8位*/

BYTE byV =recvBuf[1];

LpMsg->dwMsgID+=byV >>5;/*取出ID低3位,然后和高8位合并*/

LpMsg->bRTR =byV &0x10?TRUE:/*返回RTR狀態(tài)*/

LpMsg->dwMessageLen = byV &0XF; /*返回?cái)?shù)據(jù)長(zhǎng)度*/

……

}

else

{++hCan->lpCanHWInfo->dwErrorMsgCount;}/*沒(méi)有收到數(shù)據(jù),錯(cuò)誤計(jì)數(shù)加1*/

::LeaveCriticalSection(&hCan->lpCanHWInfo->

ReceiveCritSec); /*離開(kāi)臨界區(qū)*/

Return bSuc;

}

2.5 CAN卡事件處理

CAN卡事件處理函數(shù)是CAN卡驅(qū)動(dòng)程序中很重要的部分。驅(qū)動(dòng)設(shè)計(jì)要求具有消息通知的功能,當(dāng)事件發(fā)生時(shí)及時(shí)捕獲事件并進(jìn)行消息處理。

下面是事件處理函數(shù)的實(shí)現(xiàn):

staric DWORD WINAPI CAN_EventHanle(LPVOID lpParam)

{

ASSERT(lpParam);

LPCAN_HW_OPEN_INFO hCan=(LPCAN_HW_OPEN_INFO)lpParam;

CanCardMessageBuf bufMsg;

while(TEUE)

{ /*循環(huán)等待CAN卡消息產(chǎn)生,然后進(jìn)行處理*/

::WaitForSingleObject(hCan->lpCanHWInfo->hCanEvent,0XFFFFFFFF);

if(hCan->lpCanHWInfo->bKillCanThread) break; /*若CAN線(xiàn)程已關(guān)閉則中斷*/

if(CAN_RecvMessage(hCan,&hufMsg)){ /*正確接收數(shù)據(jù)后*/

CAN_RecvBufPush(hCan,&bufMsg);} /*將數(shù)據(jù)壓入緩沖*/

BYTE byV=CANR(hCan,3); /*將3號(hào)寄存器讀出然后立即寫(xiě)入*/

CANW(hCan,3,byV);/*能夠獲取每次中斷*/

InterruptDone(hCan->lpCanHWInfo->lpCanObj->dwSysIrqt);

} /*本次中斷結(jié)束,等待下次中斷*/

return 0;

}

2.6 其它函數(shù)

為了提供更多的功能和更方便地使用CAN卡進(jìn)行通信,在CAN卡驅(qū)動(dòng)程序中還設(shè)計(jì)了一些函數(shù)如CAN_Config用CAN卡信息配置、CAN_RecvBufPop用于處理接收緩沖區(qū)、CAN_Reset用于復(fù)位CAN卡、CheckHWInfo用于硬件信息檢查等。這些函數(shù)提供了對(duì)CAN通信卡的設(shè)置、檢查等功能,在這里不再詳述了。

3 CAN卡驅(qū)動(dòng)封裝設(shè)計(jì)

CAN卡底層驅(qū)動(dòng)函數(shù)雖然功能完整,但是對(duì)于用戶(hù)使用比較復(fù)雜并且一般用戶(hù)不需要了解底層實(shí)現(xiàn)的機(jī)制。為了便于使用,最后對(duì)CAN卡的驅(qū)動(dòng)進(jìn)行了封裝,提供CanOpenFile、CanSendMsg等五個(gè)函數(shù)用于CAN總線(xiàn)的通信,以動(dòng)態(tài)連接庫(kù)(DLL)的形式提供給用戶(hù)調(diào)用。封裝函數(shù)及功能如下:

*CanOpenFile;初始化并打開(kāi)CAN卡的一個(gè)端口。

*CanCloseFile;關(guān)閉由CanOpenFile打開(kāi)的CAN卡端口。

*CanRecvMsg;接收CAN卡數(shù)據(jù),打開(kāi)CAN卡時(shí)必須具有GENERIC_READ權(quán)限。

*CanSendMsg;通過(guò)CAN卡發(fā)送數(shù)據(jù)。打開(kāi)CAN卡時(shí)必須具有GENERIC_WRITE權(quán)限。

*CanIOControl;設(shè)置或獲取CAN卡I/O參數(shù)支持的I/O控制包括:IOCTL_CAN_CONFIG,IOCTL_CAN_RESET,IOCTL_CAN_TIMEOUT,IOCTL_CAN_SENDREADY,IOCTL_CAN_RECVREADY。

下面是CanSendMsg函數(shù)實(shí)現(xiàn)的代碼:

BOOL CanSendMSg(

HANDLE hCan,

LPCanCardMessageBuflpMsg)

{

if(!hCan||INVALID_HANDLE_VALUE= =hCan||

!lpMsg||lpMsg->dwMessageLen>8)return FALSE;

return CAN_SendMessage(LPCAN_HW_OPEN_INFO)

hCan,lpMsg);

該函數(shù)就是通過(guò)封裝CAN卡的底層驅(qū)動(dòng)函數(shù)SendMessage來(lái)實(shí)現(xiàn)的,這樣將功能集中的五個(gè)函數(shù)更方便了用戶(hù)使用。

結(jié)語(yǔ)

程序開(kāi)發(fā)的上位機(jī)是普通的PC機(jī),軟件環(huán)境是:Windows2000 Professional、Embedded Visual C++4.0、與下位機(jī)中WinCE.NET對(duì)應(yīng)的SDK,該SDK是在用Platform Builder 4.0定制WinCE時(shí)編譯生成的。下位機(jī)使用的硬件是研華的嵌入式PC104主板PCM3346N,操作系統(tǒng)為WinCE.ENT。

本文設(shè)計(jì)開(kāi)發(fā)的驅(qū)動(dòng)已經(jīng)在北京懷柔的變電站項(xiàng)目中得到成功的應(yīng)用,CAN卡通信穩(wěn)定,系統(tǒng)在WINCE.NET下運(yùn)行可靠,保證了項(xiàng)目的順利實(shí)施。


国产剧情视频在线观看-国产剧情麻豆女教师在线观看-国产剧情精品在线观看-国产剧情精品-国产剧情91-国产玖玖在线观看
<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>
    视频一区亚洲| 成人av蜜桃| 欧美极品jizzhd欧美| 正义之心1992免费观看全集完整版| 97久久超碰福利国产精品…| 国产综合视频在线观看| 欧洲亚洲一区二区| 国产91精品在线播放| 国产高清不卡av| 在线观看一区二区三区三州| 国产在线观看不卡| 日韩资源av在线| 国产精品男人的天堂| 欧美久久久久久一卡四| 国产成人av在线| 蜜桃成人在线| 国产精品久久久久久久久久东京| 欧美一区观看| 91精品久久久久久久久青青| 亚洲欧美精品| 成人免费网站在线观看| 亚洲午夜精品久久| 成人免费自拍视频| 欧美高清视频免费观看| 成人av免费在线看| 日本一欧美一欧美一亚洲视频| 精品国产一区二区三区麻豆免费观看完整版 | 韩剧1988免费观看全集| 国产精品免费一区二区三区在线观看 | 欧美激情在线有限公司| 国产欧美韩日| 国产精品久久久久999| 日日夜夜精品网站| 成人女人免费毛片| 国产精品成人v| 欧美激情国产日韩精品一区18| 成人性色av| 国产精品久久中文| 久久久久久久久爱| 欧美一区观看| 美女主播视频一区| 亚洲一区不卡在线| 国产九色91| 国产精品视频在线观看| 欧美激情免费在线| 欧洲精品国产| 国产精品yjizz| 国产欧美日韩中文| 91av中文字幕| 亚洲一区bb| 亚洲一区二区三区精品在线观看| 1卡2卡3卡精品视频| 国产精品第七影院| 国产精品直播网红| 欧美国产视频一区二区| 久久99欧美| 成人av.网址在线网站| 992tv成人免费影院| 日韩欧美精品在线不卡| 国产富婆一区二区三区 | 国产97色在线|日韩| 久久免费看av| 91系列在线播放| 国产成人综合亚洲| 欧美最近摘花xxxx摘花| 久久免费国产视频| 欧美黑人性视频| 亚洲国产成人不卡| 蜜桃久久精品乱码一区二区| 超碰97国产在线| 成人免费看黄网站| 国产日韩av高清| 国产91色在线免费| 人妖精品videosex性欧美| 韩国19禁主播vip福利视频| 一区二区91美女张开腿让人桶| 日本不卡久久| 欧美一卡2卡3卡4卡无卡免费观看水多多 | 婷婷四房综合激情五月| 国产精品一区二区三区免费观看 | 欧美激情一区二区久久久| 日韩电影天堂视频一区二区| 久久99久久精品国产| 国产精品在线看| 亚洲一区二区三区四区在线播放| 国产精品1区2区在线观看| 99久久久精品免费观看国产| 精品国产日本| 国产成人精品av在线| 国产精品久久久久久av下载红粉| 亚洲97在线观看| 亚洲一区二区三区精品动漫| 日韩免费av一区二区三区| 久久久精品动漫| 久久久一本精品99久久精品66| 久久99精品久久久久久秒播放器| 国产综合第一页| 精品日产一区2区三区黄免费| 成人欧美一区二区三区视频xxx| 亚洲最大成人免费视频| a级国产乱理论片在线观看99| 91久久极品少妇xxxxⅹ软件| 99久热re在线精品视频| 国产三区二区一区久久| 鲁丝一区二区三区免费| 欧美日韩亚洲免费| 亚洲欧洲国产精品久久| 影音先锋亚洲视频| 91av在线不卡| 国产在线98福利播放视频| 91视频最新| 国产一区二区三区av在线| 精品在线不卡| 视频一区亚洲 | 2014亚洲精品| 国产麻豆日韩| 日本一区二区三区在线视频| 亚洲va久久久噜噜噜久久狠狠 | 涩涩日韩在线| 欧美国产日韩一区二区在线观看| 国模吧一区二区| 欧美一区二区三区图| 国产精品第100页| 亚洲综合av影视| 久久久久se| 欧美国产视频一区二区| 国产成+人+综合+亚洲欧洲| 1区1区3区4区产品乱码芒果精品| 久久综合一区| 亚洲综合网中心| 日韩av日韩在线观看| 成人做爽爽免费视频| 精品网站在线看| 欧美风情在线观看| 国产精品色视频| 宅男噜噜99国产精品观看免费| 91po在线观看91精品国产性色| 成人黄色av播放免费| 97碰碰视频| 久中文字幕一区| 伊人久久大香线蕉精品| 日韩女优人人人人射在线视频| 国产有码一区二区| 久久国产精品久久精品国产| 久久久久久久久久av| 国产91色在线| 国产精品嫩草在线观看| 亚洲午夜精品久久| 国产男人精品视频| 欧美日韩国产综合在线| 91爱爱小视频k| 亚洲一区二区久久久久久| 久久精品国产综合精品| 欧美激情三级免费| 国产精品久久久久久久久久小说 | 一区二区三区视频在线播放| 秋霞成人午夜鲁丝一区二区三区| 爱情岛论坛亚洲入口| 永久久久久久| 亚洲综合社区网| 亚洲精品永久www嫩草| 欧美人与性禽动交精品| 欧美日韩亚洲在线| 国产精品一区二区久久精品| 国产精品一级久久久| 中国成人在线视频| 91免费版网站入口| 一区二区三区四区不卡| 成人黄色在线观看| 在线观看欧美激情| 99在线热播| 国模极品一区二区三区| 国产精品免费在线播放| 4k岛国日韩精品**专区| 国产一区二区精品在线| 欧美一级电影免费在线观看| 黑人中文字幕一区二区三区| 欧美在线视频播放| 久久免费一区| 国产一区视频在线播放| 色综合视频网站| 国产精品播放| 国产精品福利网| 亚洲成人a**址| 91在线视频九色| 午夜精品久久久久久久男人的天堂 | 亚洲制服中文| 91久久中文字幕| 国产视频一区二区不卡| 高清在线视频日韩欧美| 青青成人在线| 成人做爽爽免费视频| 亚洲午夜精品久久| 亚洲free嫩bbb| 欧美激情在线视频二区| 国产私拍一区| 国产精品日韩电影| 一区二区91美女张开腿让人桶| 91久久精品www人人做人人爽| 欧美极品少妇与黑人| 国产xxx69麻豆国语对白| 91国内精品久久| 精品婷婷色一区二区三区蜜桃| 国产精品96久久久久久| 在线国产99| 久久国产精品 国产精品| 国产精品永久在线| 97视频在线观看亚洲| 日本精品免费| 国产一区视频观看| 国产欧美最新羞羞视频在线观看| 欧美激情乱人伦一区| 久久精品久久精品国产大片| 亚洲一区二区三区四区视频| 国产精品国产福利国产秒拍 | 麻豆精品蜜桃一区二区三区| 91精品中国老女人| 国产99久久精品一区二区 夜夜躁日日躁| 日韩欧美亚洲日产国| 成人在线观看av| 成人激情视频网| 国产999在线观看| 久久久久久久久久久久av| 欧美激情视频一区二区三区| 99在线视频免费观看| 国产日韩精品视频| 欧美中文字幕在线观看| 最新不卡av| 欧美高清视频一区| 国产一区二区免费电影| www.成人av.com| 国产精品稀缺呦系列在线| 午夜精品三级视频福利| 亚洲一区二区精品在线观看| 欧美另类高清视频在线| 国产一级二级三级精品| 97超碰最新| 国产精品免费久久久久影院| 欧美一区二粉嫩精品国产一线天| 久久久久中文字幕2018| 在线观看一区二区三区三州| 亚洲午夜精品久久| 亚洲春色在线| 日韩在线国产| 日本不卡一区| 久久涩涩网站| 国产精品18久久久久久麻辣| **亚洲第一综合导航网站| 国产精品最新在线观看| 国产精品久久久久不卡| 欧美夜福利tv在线| 日av在线播放中文不卡| 日本三级久久久| 国产精品第三页| 国产日韩欧美另类| 国产欧美va欧美va香蕉在| 国产精品一区久久| 国产精品自拍偷拍视频| 国产美女高潮久久白浆| 国产综合久久久久久| 亚洲va欧美va国产综合久久| 91国产在线免费观看| 亚洲综合视频1区| 成人看片视频| 国产一区二区中文字幕免费看 | 国产在线精品二区| 蜜桃导航-精品导航| 欧美亚洲免费高清在线观看 | 亚洲91精品在线观看| 91精品国产99久久久久久| 4388成人网| 国产精品盗摄久久久| 成人午夜在线影院| 肥熟一91porny丨九色丨| 国产在线视频欧美一区二区三区| 久久久久久久久久久久久9999| 欧美日韩一区二| 亚洲一区二区自拍偷拍| 久久久久久午夜| 全球成人中文在线| 成人精品一区二区三区电影免费| 999热视频在线观看| 久久综合狠狠综合久久综青草| 秋霞久久久久久一区二区| 在线观看精品视频| 全亚洲最色的网站在线观看| 91精品国产综合久久香蕉| 成人看片视频| 日本一区二区在线视频| 欧美精品久久久久a| 国产成人精品av在线| 91香蕉亚洲精品| 九九九九精品| 欧美国产日韩一区二区| 国产精品草莓在线免费观看| av一区和二区| 亚洲 日韩 国产第一区| 欧美性视频在线| 成人免费自拍视频| 欧美在线日韩精品| 555www成人网| 99久热re在线精品视频| 视频一区国产精品| 日本精品视频在线观看| 91亚色免费| 日韩精品一线二线三线| 欧美亚洲另类视频| 99精品99久久久久久宅男| 日韩av一区二区三区在线| 97在线观看免费| 成人福利在线视频| 成人免费xxxxx在线观看| 国产成人免费av电影| 99国产高清| 一区二区三区久久网| 国产精品午夜视频| 久久综合狠狠综合久久综青草| 久久久久久久久久久人体| 国产视频福利一区| 欧美日韩亚洲免费| 国产91精品最新在线播放| 国产精品二区二区三区| 综合一区中文字幕| 91免费人成网站在线观看18| 日韩欧美亚洲v片| 国产精品香蕉在线观看| 欧美日韩在线不卡一区| av电影成人| 97视频在线观看成人| 久草一区二区| 午夜精品一区二区三区在线播放 | 日本不卡视频在线播放| 国产精品国产亚洲精品看不卡15| 国内精久久久久久久久久人| 亚洲伊人久久大香线蕉av| 亚洲欧美日韩精品综合在线观看| 91精品久久久久久久久久入口| 亚洲精品美女久久7777777| 国产精品国产亚洲伊人久久 | 色中色综合成人| 国产欧美婷婷中文| 亚洲一区二区三区欧美| 91色视频在线观看| 欧美激情综合色综合啪啪五月| 91精品综合久久| 97碰在线观看| 激情小说网站亚洲综合网| 91大神福利视频在线| 美女被啪啪一区二区| 国产精品视频一区二区三区四| 亚洲国产精品日韩| 91青青草免费观看| 日本国产精品视频| 日本成人黄色| 成人免费视频a| 亚洲**2019国产| 欧美久久综合性欧美| 国产日本欧美一区二区三区在线| 中文精品视频一区二区在线观看| 成人91视频| 国产精品久久一区| 欧美激情在线狂野欧美精品| 国产一区精品在线| 成人在线免费观看视视频| 久久久亚洲福利精品午夜| 国产精品一区二区在线观看| 国产精品精品久久久久久| 中文字幕日韩一区二区三区| 国产一区免费在线| 成人乱色短篇合集| 浅井舞香一区二区| 欧美疯狂性受xxxxx另类| 久久精品日产第一区二区三区乱码| 国产精品亚洲片夜色在线| 国模精品视频一区二区| 日本一区二区三区四区高清视频| 国产伦精品一区二区三区高清| 国产精品久久久久久久天堂第1集| 欧洲一区二区视频| 亚洲一区二区不卡视频| 精品欧美一区二区在线观看视频| 成人精品一区二区三区| 日产精品99久久久久久| 亚洲国产欧美日韩| 精品一区在线播放| 成人av中文| 国产女精品视频网站免费| 2021久久精品国产99国产精品| 色一情一乱一伦一区二区三区丨 | 精品国产一区二区三区免费 | 97在线免费观看| 亚洲激情一区二区| 麻豆av一区二区三区久久| 91在线短视频| 91精品视频在线看| 国产成人久久久精品一区| 午夜精品久久久久久久男人的天堂 | 欧美国产综合视频| 国内不卡一区二区三区| 亚洲free性xxxx护士白浆| 国产精品久久久久久久久久ktv| 91精品国产九九九久久久亚洲| 亚洲日本精品| 日韩激情视频| 日本免费高清一区| 美国av一区二区三区| 精品欧美一区二区在线观看视频| 国产精品国产精品| 国产一区二区黄色| 国产精品一区免费观看| 国产高清不卡av| 91在线看网站| 鬼打鬼之黄金道士1992林正英| 亚洲字幕一区二区| 亚洲a中文字幕| 444亚洲人体| 91精品久久久久久蜜桃| 波多野结衣精品久久| 97久久天天综合色天天综合色hd | 成人精品视频99在线观看免费| 国产精品日韩精品| 国产精品视频免费观看www| 国产精品九九九| 国产精品免费网站| 国产免费一区二区三区在线观看| 国产精品亚洲自拍| 成人黄色av免费在线观看| 成人免费福利在线| 99re在线观看| 国产精品一区二区三区免费观看| 好吊妞www.84com只有这里才有精品| 精品一卡二卡三卡四卡日本乱码| 欧美高清性xxxxhd| 亚洲综合五月天| 久久欧美在线电影| 日本成人激情视频| 国产精品亚洲аv天堂网| 亚洲一区二区久久久久久久 | 精品免费二区三区三区高中清不卡 | 欧美国产日韩一区二区三区| 欧美精品video| 欧美在线激情视频| 国产精品嫩草视频| 在线成人性视频| 91黄在线观看| www.成人三级视频| 亚洲精品视频一二三| 国产欧美一区二区在线播放| 国产一区二区视频在线免费观看| 欧美精品一区二区视频| 亚洲一区二区四区| 欧美综合在线第二页| 国产精品一区二区三区在线播放 | 日韩三级电影免费观看| 自拍偷拍亚洲色图欧美| 91高清免费视频| 国产精品入口免费视| 91超碰在线电影| 免费影院在线观看一区| 亚洲精品白虎| 78m国产成人精品视频| 国产成人综合亚洲| 亚洲已满18点击进入在线看片| 国产一区二区在线网站| 久久久久久999| 日本在线观看不卡| 午夜精品久久久久久久久久久久| 国产精品v片在线观看不卡| 亚洲自拍偷拍视频| 午夜视频久久久| 57pao国产成人免费| 国产欧美精品在线| 精品国产aⅴ麻豆| 一区二区在线不卡| 日韩免费在线视频| 国产伦精品一区二区三区四区免费 | 日韩精品久久久免费观看| 久久久久久久久久国产| 国产美女91呻吟求| 欧美精品一区二区三区久久| 性色av香蕉一区二区| 91久久精品国产91久久性色| 欧美1o一11sex性hdhd| 97欧美精品一区二区三区| 成人免费网站在线观看| 欧美精品中文字幕一区二区| 亚州欧美日韩中文视频| 亚洲综合第一页| 杨幂一区欧美专区| 国产精品黄色影片导航在线观看| 国产一区视频观看| 97精品国产97久久久久久| 92看片淫黄大片欧美看国产片| 青娱乐一区二区| 国产不卡av在线| 欧美日韩亚洲在线| 国产精品亚洲网站| 日韩三级在线播放| 国产欧美一区二区三区久久人妖| 欧美少妇一区| 国产精品99久久久久久人| 久久精品成人一区二区三区蜜臀 | 亚洲巨乳在线观看| 热99精品只有里视频精品| 国产伦精品一区二区三区免费视频| 欧美激情一区二区三区高清视频| 91免费看片网站| 欧美大片免费观看| 亚洲一区二区三| 久久久久久久久久久91| 成人欧美一区二区三区黑人免费| 久久久久久尹人网香蕉| 91在线短视频| 欧美野外猛男的大粗鳮| 久久久99爱| 国产欧美韩国高清| 色在人av网站天堂精品| 成人激情视频小说免费下载| 一区二区三区国| 国产精品福利视频| 日本欧美爱爱爱| 日韩久久不卡| 欧美激情在线播放| 国产精成人品localhost| 久久久久久久久久久国产| 国产精品日韩一区二区三区| 97国产成人精品视频| 欧美精品免费观看二区| 国产精品视频网址| 欧美大荫蒂xxx| 久久久久久久成人| 欧美国产欧美亚洲国产日韩mv天天看完整| 国产精品久久久| 中文字幕av日韩精品| 国产乱码精品一区二区三区日韩精品| 日韩美女av在线免费观看| 欧美日韩综合网| 91av一区二区三区| 日本精品性网站在线观看| 亚欧精品在线| 国产日韩久久| 国产欧美最新羞羞视频在线观看| 久久久亚洲天堂| 欧美一区2区三区4区公司二百 | 亚洲自拍在线观看| 日韩美女免费观看| 中文字幕日韩一区二区三区| 精品国产乱码久久久久久久软件| 国产精品夜间视频香蕉| 成人羞羞视频免费| 一区高清视频| 国产综合欧美在线看| 成人疯狂猛交xxx| 欧美在线视频一区二区| 亚洲欧美99| 欧美日本亚洲| 古典武侠综合av第一页| 国产欧美一区二区三区视频| 欧美壮男野外gaytube| 亚洲精品美女久久7777777| 国产欧美一区二区在线播放| 成人免费视频网址| 国产精品久久久久久婷婷天堂| 午夜伦理精品一区| 欧美黄色成人网| 天堂资源在线亚洲资源| 蜜桃成人免费视频| 国产一区二区三区四区五区在线 | 91精品国产91久久久久久最新| 午夜精品一区二区三区在线观看 | 久久久久久高潮国产精品视| 日本一区二区三区视频在线观看| 国内视频一区二区| 俄罗斯精品一区二区三区| 高清欧美性猛交xxxx黑人猛交| 欧美深深色噜噜狠狠yyy| 国产日韩精品在线观看| 亚洲高清不卡一区| 国产精品永久免费视频| 国外成人免费视频| 97久久超碰福利国产精品…| 精品日本一区二区三区| 欧美一级电影久久| 欧美亚洲第一页| 亚洲综合网中心| 欧美一区国产一区| 免费在线成人av电影| 久久久com| 精品一区国产| 久久精品五月婷婷| 精品日产一区2区三区黄免费| 国产精品久久亚洲7777| 国产精品久久久久久久久久直播| 99九九视频| 不卡一卡2卡3卡4卡精品在| 91麻豆蜜桃| 成人羞羞视频免费| 国产一区高清视频| 久久99国产精品99久久| 麻豆av一区二区三区|