日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Win32 串口编程(一)

發布時間:2025/3/12 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Win32 串口编程(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

翻譯自:ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.WIN32COM.v10.en/dnfiles/html/msdn_serial.htm

老外寫的文章,雖比較全面,但很啰嗦,不如看各個函數的文檔來得快。為方便以后查閱,列出本文涉及的主要函數如下:

CreateFile、ReadFile、WriteFile、GetOverlappedResult、WaitForSingleObject

SetCommMask、WaitCommEvent

ClearCommError、GetCommModemStatus、EscapeCommFunction

GetCommState、BuildCommDCB、SetCommState、SetCommTimeouts

此外,新浪的博客系統限制文章最大長度為40000字節,只好把這篇文章分成幾部分了。

0 簡介

本文僅關注在Windows NT和95間兼容的API。Windows 95支持Telephony API(TAPI),但Windows NT 3.x不支持TAPI,所以本文不討論它。

本文的示例程序MTTTY(Multithreaded TTY)使用了三個線程:一個進行內存管理的界面線程;控制所有寫入操作的寫入者線程;讀取數據和處理端口狀態改變的讀取/狀態線程。示例采用了一些不同的堆來進行內存管理;還大量使用了同步方法來進行線程間通信。

1 打開端口

使用CreateFile函數打開端口。打開端口時有兩種方法:重疊的和非重疊的。下列代碼片段以重疊方式打開端口:

?

HANDLE?hComm;
hComm?=?CreateFile(?gszPort,??
????????????????????GENERIC_READ?|?GENERIC_WRITE,?
????????????????????0,?
????????????????????0,?
????????????????????OPEN_EXISTING,
????????????????????FILE_FLAG_OVERLAPPED,
????????????????????0);
if?(hComm?==?INVALID_HANDLE_VALUE)
???//?error?opening?port;?abort

?

?

?

?

?

?







去掉參數中的FILE_FLAG_OVERLAPPED就是非重疊操作方式了。
用CreateFile打開通信端口時,有下列限制:

  • fdwShareMode 必須是0。通信端口不能像文件那樣被共享。要共享通信端口,需要使用句柄繼承或者復制操作。
  • fdwCreate 必須指定 OPEN_EXISTING 標志。
  • hTemplateFile 參數必須是 NULL

端口名通常是COM1、COM2、COM3和COM4。Win32 API不提供確定系統中有哪些端口可用的機制。Windows NT和Windows 95跟蹤系統已安裝端口的方法是不同的,所以不太可能提供兼容的確定可用端口的方法。某些系統可能有多于4個端口,而傳統的通信端口最大個數是4。硬件廠商和串口驅動編寫者可以自由地為端口命名。所以,程序最好可以讓用戶指定要使用的端口名字。如果端口不存在,則試圖打開端口時會返回ERROR_FILE_NOT_FOUND錯誤,這時應該提示用戶端口不可用。

2 讀寫操作

通信端口的讀寫操作與文件I/O操作非常相似,它們使用同樣的函數。Win32的I/O操作可分為兩種:重疊(overlapped)的和非重疊的(nonoverlapped)。平臺SDK文檔分別使用異步(asynchronous)和同步(synchronous)來表示這兩種I/O方式。

很多開發者都熟悉非重疊I/O,因為它就是傳統的I/O方式:函數返回時,所請求的操作已經完成。然而在重疊I/O的情況下,系統則可能在操作還沒有完成的情形下立即返回,隨后才通知調用者操作完成。程序可以在發起I/O請求和請求被完成之間進行一些后臺工作。

2.1 非重疊I/O

非重疊I/O的工作方式很簡單:I/O操作進行時,調用線程被阻塞;操作完成后,函數返回,調用線程可以繼續執行。在多線程應用中,這種I/O方式很有用:一個線程阻塞在某I/O操作上時,其他線程可以繼續工作。應用程序應該保證對端口的串行訪問。某個線程阻塞在等待某I/O操作上時,其他線程后續的通信API調用也都將阻塞。比如說,一個線程在等待ReadFile調用返回時,另一個線程的WriteFile函數調用將阻塞。

在選擇使用非重疊還是重疊方式時,可移植性是要考慮的因素之一。有時候重疊操作并不是好的選擇,因為很多操作系統不支持它;然而很多操作系統都支持某種形式的多線程。所以從兼容性方面考慮,多線程非重疊I/O可能是最好的選擇。

2.2 重疊I/O

重疊I/O不像非重疊I/O那樣簡單易懂,但卻靈活高效。使用重疊方式打開的端口允許多個線程同時進行I/O操作,并且在操作進行期間可以進行其他的工作。此外,重疊操作的行為方式還允許單個線程提交多個不同的請求,然后在操作進行期間進行其他后臺工作。

在單線程和多線程應用中,都必須在提交I/O請求和處理操作結果間進行一些同步操作。線程可能需要在操作結果可用前阻塞;當然也可以進行其他工作。如果沒有其他需要進行的工作,則重疊I/O的優點是更好的用戶響應性能。

MTTTY使用了重疊I/O。它創建用于讀取數據和監測端口狀態的線程,并且還定時進行一些后臺工作;此外它還另外創建一個線程用于寫入數據。

重疊I/O操作分為兩個部分:創建I/O操作和檢測操作完成。創建I/O操作涉及到建立OVERLAPPED結構體、創建用于同步的手動復位事件、調用恰當的函數(ReadFile或者WriteFile)。I/O操作可能立即完成,也可能不能立即完成,不能認為一個重疊I/O操作請求總是生成一個重疊操作。如果操作立即完成,程序應該可以繼續進行通常的處理。檢測操作完成涉及到等待事件句柄、檢查操作完成結果、處理數據。與重疊I/O相關的工作更多的原因是有更多的失敗點。非重疊操作中,簡單地通過函數返回值判斷操作是否失敗;而重疊操作中,則可能在創建操作請求時失敗,或者操作阻塞期間失敗,也可能是操作超時,或者是等待操作完成信號超時。

2.2.1 讀操作

下面的代碼片段展示了提交重疊的讀操作請求的方法。注意,如果ReadFile返回TRUE,調用了一個函數處理數據。代碼定義了fWaitingOnRead標志,它表示是否有重疊的讀取操作存在,用于阻止在一個操作進行中時提交另一個讀取操作請求。

?

DWORD?dwRead;
BOOL?fWaitingOnRead?=?FALSE;
OVERLAPPED?osReader?=?{0};
//?Create?the?overlapped?event.?Must?be?closed?before?exiting
//?to?avoid?a?handle?leak.
osReader.hEvent?=?CreateEvent(NULL,?TRUE,?FALSE,?NULL);
if?(osReader.hEvent?==?NULL)
???//?Error?creating?overlapped?event;?abort.
if?(!fWaitingOnRead)?{
???//?Issue?read?operation.
???if?(!ReadFile(hComm,?lpBuf,?READ_BUF_SIZE,?&dwRead,?&osReader))?{
??????if?(GetLastError()?!=?ERROR_IO_PENDING)?????//?read?not?delayed?
?????????//?Error?in?communications;?report?it.
??????else
?????????fWaitingOnRead?=?TRUE;
???}
???else?{????
??????//?read?completed?immediately
??????HandleASuccessfulRead(lpBuf,?dwRead);
????}
}

?

OVERLAPPED結構體的事件句柄被傳遞給WaitForSingleObject以等待事件授信,操作完成。注意,事件受信表示操作完成,而不是操作成功完成。應該用GetOverlappedResult來取得操作結果,它返回TRUE表示操作成功完成;FALSE表示有錯誤發生,用GetLastError可以取得具體的錯誤碼。也可以用GetOverlappedResult來檢測操作完成:GetOverlappedResult返回FALSE,GetLastError返回ERROR_IO_INCOMPLETE表示操作進行中。如果對bWait參數傳入TRUE,則效果就是重疊操作變成了非重疊的,直到操作完成,函數才返回。下面的代碼片段展示了一種檢測重疊讀取操作完成的方法。注意fWaitingOnRead標志的使用,它是檢測代碼的控制入口,只有在某操作進行中時,才應該調用檢測代碼。

#define?READ_TIMEOUT??????500??????//?milliseconds
DWORD?dwRes;
if?(fWaitingOnRead)?{
???dwRes?=?WaitForSingleObject(osReader.hEvent,?READ_TIMEOUT);
???switch(dwRes)
???{
??????//?Read?completed.
??????case?WAIT_OBJECT_0:
??????????if?(!GetOverlappedResult(hComm,?&osReader,?&dwRead,?FALSE))
?????????????//?Error?in?communications;?report?it.
??????????else
?????????????//?Read?completed?successfully.
?????????????HandleASuccessfulRead(lpBuf,?dwRead);
??????????//??Reset?flag?so?that?another?opertion?can?be?issued.
??????????fWaitingOnRead?=?FALSE;
??????????break;
??????case?WAIT_TIMEOUT:
??????????//?Operation?isn't?complete?yet.?fWaitingOnRead?flag?isn't
??????????//?changed?since?I'll?loop?back?around,?and?I?don't?want
??????????//?to?issue?another?read?until?the?first?one?finishes.
??????????//
??????????//?This?is?a?good?time?to?do?some?background?work.
??????????break;???????????????????????
??????default:
??????????//?Error?in?the?WaitForSingleObject;?abort.
??????????//?This?indicates?a?problem?with?the?OVERLAPPED?structure's
??????????//?event?handle.
??????????break;
???}
}

?

?

2.2.2 寫入操作

寫入操作跟讀取操作非常相似。下面的代碼片段展示了如何提交寫入操作,并等待操作完成。

?

BOOL?WriteABuffer(char?*?lpBuf,?DWORD?dwToWrite)
{
???OVERLAPPED?osWrite?=?{0};
???DWORD?dwWritten;
???DWORD?dwRes;
???BOOL?fRes;

???//?Create?this?write?operation's?OVERLAPPED?structure's?hEvent.
???osWrite.hEvent?=?CreateEvent(NULL,?TRUE,?FALSE,?NULL);
???if?(osWrite.hEvent?==?NULL)
??????//?error?creating?overlapped?event?handle
??????return?FALSE;

???//?Issue?write.
???if?(!WriteFile(hComm,?lpBuf,?dwToWrite,?&dwWritten,?&osWrite))?{
??????if?(GetLastError()?!=?ERROR_IO_PENDING)?{?
?????????//?WriteFile?failed,?but?isn't?delayed.?Report?error?and?abort.
?????????fRes?=?FALSE;
??????}
??????else
?????????//?Write?is?pending.
?????????dwRes?=?WaitForSingleObject(osWrite.hEvent,?INFINITE);
?????????switch(dwRes)
?????????{
????????????//?OVERLAPPED?structure's?event?has?been?signaled.?
????????????case?WAIT_OBJECT_0:
?????????????????if?(!GetOverlappedResult(hComm,?&osWrite,?&dwWritten,?FALSE))
???????????????????????fRes?=?FALSE;
?????????????????else
??????????????????//?Write?operation?completed?successfully.
??????????????????fRes?=?TRUE;
?????????????????break;
????????????
????????????default:
?????????????????//?An?error?has?occurred?in?WaitForSingleObject.
?????????????????//?This?usually?indicates?a?problem?with?the
????????????????//?OVERLAPPED?structure's?event?handle.
?????????????????fRes?=?FALSE;
?????????????????break;
?????????}
??????}
???}
???else
??????//?WriteFile?completed?immediately.
??????fRes?=?TRUE;

???CloseHandle(osWrite.hEvent);
???return?fRes;
}

?

注意,上面的代碼使用WaitForSingleObject時,超時值是INFINITE,這使得函數無限等待直到操作完成。這可能讓調用線程似乎是被掛起了;而實際上只是寫入操作需要較長的時間,或者流控制阻塞了傳輸操作。下文將討論的狀態檢查可以檢測到這種情況,但它也不會讓WaitForSingleObject返回。有三種方法可以克服此問題:

  • 把代碼放在單獨的線程中。這樣寫入線程在等待寫操作完成時,其他線程可以進行任何所需的操作。MTTTY就是這么做的。
  • 使用COMMTIMEOUTS使得寫操作在經過一個超時值指定的時間后完成。本文后面的“通信超時”節將詳細討論它。MTTTY也可以使用這種方法。
  • 修改WaitForSingleObject調用,使用超時值。這樣會更麻煩:如果原來的操作仍在進行中,程序提交另一個操作請求,則需要分配新的OVERLAPPED結構和重疊事件。這種記錄跟蹤保持是很困難的,尤其是與“工作隊列”相比較時。MTTTY使用了工作隊列。

上面代碼中的WaitForSingleObject使用了INFINITE作為超時值,其效果等同于使用TRUE作為GetOverlappedResult的fWait參數。下面是等效的更簡潔的代碼:

?

BOOL?WriteABuffer(char?*?lpBuf,?DWORD?dwToWrite)
{
???OVERLAPPED?osWrite?=?{0};
???DWORD?dwWritten;
???BOOL?fRes;

???//?Create?this?writes?OVERLAPPED?structure?hEvent.
???osWrite.hEvent?=?CreateEvent(NULL,?TRUE,?FALSE,?NULL);
???if?(osWrite.hEvent?==?NULL)
??????//?Error?creating?overlapped?event?handle.
??????return?FALSE;

???//?Issue?write.
???if?(!WriteFile(hComm,?lpBuf,?dwToWrite,?&dwWritten,?&osWrite))?{
??????if?(GetLastError()?!=?ERROR_IO_PENDING)?{?
?????????//?WriteFile?failed,?but?it?isn't?delayed.?Report?error?and?abort.
?????????fRes?=?FALSE;
??????}
??????else?{
?????????//?Write?is?pending.
?????????if?(!GetOverlappedResult(hComm,?&osWrite,?&dwWritten,?TRUE))
????????????fRes?=?FALSE;
?????????else
????????????//?Write?operation?completed?successfully.
????????????fRes?=?TRUE;
??????}
???}
???else
??????//?WriteFile?completed?immediately.
??????fRes?=?TRUE;

???CloseHandle(osWrite.hEvent);
???return?fRes;
}

?

GetOverlappedResult并不總是等待重疊操作完成的最好方法。比如說,如果應用需要同時等待另一個事件句柄,則第一個代碼片段模型比第二個更好,因為可以很容易地用WaitForMultipleObjects替換WaitForSingleObject,來等待更多的句柄。MTTTY就是這么做的。

在前一個重疊操作完成前重用OVERLAPPED結構是重疊I/O編程中常現的一個錯誤。如果要在前一個重疊操作完成前提交新的重疊操作請求,則需要分配新的OVERLAPPED結構,其hEvent字段也應該包含新的手動復位事件句柄。只有在重疊操作完成后,OVERLAPPED結構和其事件句柄才可以被重用。

串口通信中使用OVERLAPPED結構時只需要修改hEvent字段,其他字段只需要初始化為零。




總結

以上是生活随笔為你收集整理的Win32 串口编程(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

精品在线观看视频 | 亚洲成人影音 | 99久久夜色精品国产亚洲 | av网站在线免费观看 | 91看片在线播放 | 精品嫩模福利一区二区蜜臀 | 黄色的网站免费看 | 97网| 国产精品入口久久 | 日本爱爱片 | 婷婷在线视频 | 精品在线不卡 | 国产精品久久久久久久久费观看 | 天天综合导航 | 亚洲视频 中文字幕 | 免费在线一区二区 | 99久久日韩精品视频免费在线观看 | 亚洲三级网 | 精品国产伦一区二区三区 | 久久伊人免费视频 | 99热这里只有精品在线观看 | 久久久久在线观看 | 五月婷婷色综合 | 色婷婷a | 黄色在线观看网站 | 国产精品久久久久久久久久久久久久 | 欧美精品v国产精品 | 国产精品a成v人在线播放 | 最新婷婷色 | 日本 在线 视频 中文 有码 | 综合精品久久 | 天天操天天射天天爱 | 成人国产精品电影 | 99精品久久久久久久久久综合 | 欧美日韩一级在线 | 久久久久久久久久免费 | 日韩精品一区二 | 人人爽人人 | 久久天天拍 | 五月天久久激情 | 99在线视频免费观看 | 久久午夜电影网 | av网在线观看 | 天天综合天天做天天综合 | 五月天天在线 | 国产美女免费观看 | 亚洲精品午夜视频 | 亚洲狠狠婷婷综合久久久 | 毛片一级免费一级 | av在线影视 | 欧美日韩免费观看一区二区三区 | 亚洲欧美日韩精品久久奇米一区 | 久久精品96 | 国产精品成人一区二区三区吃奶 | 在线免费观看黄色小说 | 九九视频精品在线 | 亚洲国产三级 | 国产成人一区二区三区 | 午夜影院三级 | 超级碰碰视频 | 国产精品黄色影片导航在线观看 | 欧美九九九 | 中文字幕在线精品 | 国产精品白丝jk白祙 | 天堂视频中文在线 | 国产色视频| 丁香激情综合国产 | 国产精品久久毛片 | 国产精品大全 | 日韩动漫免费观看高清完整版在线观看 | 精品在线播放视频 | 国产美女网站在线观看 | 免费观看www小视频的软件 | 俺要去色综合狠狠 | 99热在| 国产色在线视频 | 久久在线视频精品 | 亚洲最新av网站 | 久久综合五月婷婷 | 亚洲日本va午夜在线影院 | 99在线高清视频在线播放 | 日日干激情五月 | 毛片视频电影 | 97热久久免费频精品99 | 色永久免费视频 | 欧美日韩二区三区 | 毛片无卡免费无播放器 | 人人视频网站 | 日韩电影中文字幕在线 | 97在线免费视频 | www久草| 在线播放精品一区二区三区 | 色av色av色av| 麻豆视频入口 | 久久视频在线观看 | 黄色视屏在线免费观看 | 97小视频| 黄色成人av | 国产美女无遮挡永久免费 | 91成人在线观看高潮 | 日韩小视频网站 | 狠狠网 | 成 人 a v天堂 | 黄色片视频免费 | 国产日韩精品一区二区 | 日韩中文字幕第一页 | 国产亚洲情侣一区二区无 | 国产午夜精品视频 | 欧美性生活一级片 | 日韩欧美精品在线 | 九九有精品| 日本久久久久 | 国产麻豆精品95视频 | 91在线免费视频 | 香蕉视频91| 色在线免费| 超碰在线最新网址 | 久久字幕 | 天天操狠狠操 | 女人久久久久 | 亚洲天天综合网 | 五月激情视频 | 亚洲精品免费视频 | 亚洲欧美成人在线 | 日韩伦理片一区二区三区 | 超碰免费在线公开 | 狠狠插狠狠操 | 精品视频在线免费观看 | www久久精品 | www久久九| 成人动态视频 | 久久手机免费视频 | 欧美精品久久 | 亚洲激情av | 蜜臀av性久久久久av蜜臀三区 | 激情偷乱人伦小说视频在线观看 | 天天做天天爽 | 4438全国亚洲精品在线观看视频 | 天天做日日做天天爽视频免费 | 正在播放一区 | 日韩网站在线观看 | 色婷婷亚洲精品 | 一区二区三区在线视频观看58 | 日韩综合第一页 | 麻豆国产精品视频 | 天天干天天草 | 欧美精品久 | 免费成人黄色片 | 日日久视频 | 狠狠的干狠狠的操 | 91九色蝌蚪国产 | 国产精品va在线观看入 | 欧美精品第一 | 久草视频视频在线播放 | 亚洲h在线播放在线观看h | 91丨九色丨国产丨porny精品 | 少妇性bbb搡bbb爽爽爽欧美 | 欧美国产日韩在线观看 | 九九热国产视频 | 久草视频在线新免费 | 国产黄色视 | 99色在线播放 | 91精品国产欧美一区二区 | 手机av网站 | 天天曰天天射 | 97av免费视频| 国产精品综合久久久久久 | 色噜噜日韩精品欧美一区二区 | 国产精品白丝av | 成人在线视频免费观看 | 久草色在线观看 | 久久久久女教师免费一区 | 激情综合网天天干 | 亚洲欧美在线视频免费 | 欧美黄在线 | 在线国产中文字幕 | 特片网久久 | 亚洲精品电影在线 | 久久精品一区二区国产 | 97综合在线| 久久久免费观看 | 日韩免费视频线观看 | 欧美日韩亚洲在线观看 | 91精品国产91久久久久 | 国产精品免费观看国产网曝瓜 | 日韩av播放在线 | 日韩欧美网址 | 超碰在线99| 久久精品专区 | 国产专区一| 久草青青在线观看 | 免费观看国产视频 | 国产精品日韩欧美 | 午夜色性片 | 麻豆视频在线免费看 | 91超碰免费在线 | 国产123区在线观看 国产精品麻豆91 | 日韩欧美69| 亚洲综合在线五月天 | 四虎影视成人永久免费观看亚洲欧美 | 在线午夜av| 天天操·夜夜操 | av理论电影 | 国产精品va在线播放 | 日韩专区在线观看 | 亚洲综合成人专区片 | 日韩电影在线观看一区二区 | 超碰免费97 | 五月天天色 | 在线观看视频在线观看 | 日韩在线观看av | 久草视频视频在线播放 | 日本成人中文字幕在线观看 | 99视频在线精品国自产拍免费观看 | 精品国产乱码久久久久久三级人 | 97精品国产97久久久久久久久久久久 | 99视频黄| 在线视频1卡二卡三卡 | 人人看人人爱 | 日韩中文字幕视频在线 | 欧美色伊人 | 九九热视频在线免费观看 | 午夜久久久久久久久久久 | 久久精品99精品国产香蕉 | 日韩三级视频在线看 | 婷婷色九月 | 97在线影视 | 日本久久精品 | 日韩免费在线观看网站 | 激情婷婷网 | 亚洲国产精品久久久久久 | 97超碰超碰久久福利超碰 | 91九色自拍 | 天天操天天摸天天干 | 久久久久夜色 | 久久综合9988久久爱 | 韩国在线视频一区 | 亚洲免费在线播放视频 | 免费a网站| 国产高清久久久久 | 国产明星视频三级a三级点| 高清av网站 | 欧美一区免费观看 | 在线观看成人 | 成人一区影院 | 99在线高清视频在线播放 | 丁香花在线视频观看免费 | 911香蕉| 久草资源在线 | 日韩av电影中文字幕在线观看 | 美女网站在线播放 | 黄色毛片在线 | 欧美成人h版在线观看 | 夜夜骑日日| 亚洲成人高清在线 | 在线色资源 | 久久歪歪 | 在线免费观看国产黄色 | 久久免费国产视频 | 日批视频在线播放 | 97操操| 天天天色综合a | 九九热只有精品 | 91黄视频在线 | 久久精品国产一区二区电影 | 99精品视频免费观看视频 | 成人免费观看视频网站 | 日韩一区二区三区高清免费看看 | 国产精品12| 狠狠色综合欧美激情 | 香蕉视频在线视频 | 国产做aⅴ在线视频播放 | 亚洲成人中文在线 | 婷婷视频在线 | 色资源二区在线视频 | 69国产在线观看 | 国产日韩精品在线观看 | 探花视频免费观看 | 99精品一区 | 日日操夜夜操狠狠操 | 亚洲免费在线观看视频 | 美女免费网视频 | 毛片视频电影 | 国产精品毛片一区二区在线 | 成人免费视频免费观看 | 国产精品久久久久久久久久久久午夜 | 五月天综合 | 超碰免费成人 | 欧美日韩精品在线播放 | 婷婷丁香激情五月 | 91精品福利在线 | 六月天综合网 | 91av成人 | 免费下载高清毛片 | 天天五月天色 | 亚洲一二三区精品 | 国产高清在线免费观看 | 久久久这里有精品 | 久草在线播放视频 | 精品爱爱 | 午夜一级免费电影 | 欧美国产不卡 | 操老逼免费视频 | 久久久久久久久毛片精品 | 17婷婷久久www | 伊人久久五月天 | 久久综合色婷婷 | 日韩乱理 | 国产精品毛片一区二区在线 | 一级成人免费视频 | 国产精品国产三级国产aⅴ9色 | 天天操欧美 | 成年人黄色大片在线 | 狠狠色综合欧美激情 | 一区二区不卡视频在线观看 | 国产成人黄色网址 | 麻豆视频在线 | 日韩试看 | 黄色a视频免费 | av一区二区在线观看中文字幕 | 三级小视频在线观看 | 最近中文字幕免费大全 | 国产欧美综合视频 | 综合av在线 | 玖玖玖在线 | av888.com| 狠狠干2018 | 日韩一区二区免费在线观看 | 香蕉网在线播放 | 91福利视频一区 | 天天爱天天操天天爽 | 久久精品美女 | av片子在线观看 | 国产专区免费 | 欧美午夜a | 91在线视频观看免费 | 久久精品系列 | 最新中文字幕在线资源 | 欧美日产一区 | 99国产视频 | 久久影视中文字幕 | 欧美精品免费一区二区 | 日韩在线视频二区 | 亚洲午夜精品一区二区三区电影院 | 成人av观看 | 日韩精品久久久久久中文字幕8 | 精品夜夜嗨av一区二区三区 | 99性视频 | 国内久久视频 | 999国产精品视频 | 国产专区在线视频 | 五月天免费网站 | 性色xxxxhd| 亚洲精品在线免费播放 | 免费av高清 | 国产亚洲精品久久久久久无几年桃 | 国产黄色大全 | 国产不卡在线播放 | 久久久久久久国产精品 | 免费国产ww| 久久99久国产精品黄毛片入口 | 久久精品久久精品久久 | 国产手机视频在线播放 | av中文电影 | 91九色九色| 免费国产ww | a黄色片在线观看 | 18网站在线观看 | 久久精彩| 久久字幕精品一区 | 成人wwwxxx视频 | 91精品国产92久久久久 | 欧美激情视频在线观看免费 | 亚洲高清不卡av | 亚洲午夜精品久久久久久久久 | www.久久色.com| 亚洲一级黄色片 | 91刺激视频| 中日韩男男gay无套 日韩精品一区二区三区高清免费 | 国产麻豆视频 | 亚洲欧美日韩国产 | 中文字幕在线观看视频网站 | av片免费播放 | 亚洲精选视频在线 | 这里只有精品视频在线 | 国产成人久久精品一区二区三区 | 欧美日韩一区二区久久 | 欧美成年人在线视频 | 国产乱码精品一区二区蜜臀 | 91九色自拍 | 国产资源av | 国内小视频 | 亚洲国产一区av | 亚洲欧美va| 日韩中文字幕免费电影 | 人人干干人人 | 日韩二区在线观看 | 久久久精品99 | 国产日韩中文字幕 | 国产在线观看一 | 午夜精品区 | 国产一卡久久电影永久 | 久久www免费人成看片高清 | 98精品国产自产在线观看 | 国产色久| 国产 亚洲 欧美 在线 | 狠狠色丁香婷婷 | 亚洲美女精品视频 | 亚洲最新av网址 | 免费观看成人 | a视频免费看 | 国产黄色大片 | 国产在线观看一区 | 久久久www成人免费毛片 | 日韩欧美亚州 | 中文字幕电影网 | 国产大片免费久久 | 欧美俄罗斯性视频 | 激情婷婷网 | 国产精品久久久久久一区二区 | 久久免费国产 | 久草爱 | 福利一区在线 | 98超碰人人| 天天插视频 | 婷婷视频在线观看 | 九九九九色 | 一区二区视频在线免费观看 | 欧美日韩精品二区第二页 | 在线观看的av网站 | 中文国产字幕 | 久久艹中文字幕 | 免费看av在线 | 天天插天天操天天干 | 黄在线 | 在线观看日韩精品视频 | 免费看黄色毛片 | 韩日精品中文字幕 | 欧美精品久久久久久久 | 国产男女无遮挡猛进猛出在线观看 | 久久精品久久久精品美女 | 中文资源在线播放 | 国产高清久久 | 国产精品美女 | 综合网婷婷 | 久久国产三级 | 日韩亚洲在线 | 欧美日本中文字幕 | 免费成人av | 成年人黄色免费网站 | 久久久久久久久毛片精品 | 国产女教师精品久久av | 国产精品电影一区二区 | 婷婷av综合 | 久久超碰网| 国产精品免费在线视频 | 免费精品人在线二线三线 | 1024久久| 一本色道久久综合亚洲二区三区 | 欧美日韩在线播放 | 日韩欧美电影在线观看 | 成年人在线电影 | 精品91| 免费av观看网站 | 欧美91av| 成片人卡1卡2卡3手机免费看 | 国产成人精品网站 | 国产精品久久久久久久久久三级 | 999在线视频 | 久久久麻豆| 日批视频在线 | a成人v在线 | 精品国产一区二区三区四 | 久久av网址| 免费观看黄色av | 天天干人人插 | 亚洲成a人片在线观看网站口工 | 在线黄网站 | 亚洲精品国产成人 | 日韩色视频在线观看 | 中文字幕一区二区三区在线观看 | 国产又粗又猛又黄又爽的视频 | 日韩精品免费一区二区在线观看 | av一本久道久久波多野结衣 | 人人操日日干 | 久久视频免费在线 | 在线观看一级 | 99色网站| 天天玩天天操天天射 | 在线黄色国产 | 三级动态视频在线观看 | 一本一道波多野毛片中文在线 | 国产玖玖精品视频 | 最近中文字幕第一页 | 园产精品久久久久久久7电影 | 欧美在线视频一区二区三区 | 国产精品久久久久久久久婷婷 | 成人亚洲综合 | 在线高清一区 | 国产精品麻豆视频 | 91亚洲精品视频 | 夜夜干天天操 | 97超碰人人在线 | 97理论片 | 国产理论一区二区三区 | 亚洲成av人片在线观看www | 国产成人免费网站 | 久久 地址| 97在线观看 | 国产一区二区精品久久91 | 国产高清在线视频 | 欧洲精品亚洲精品 | 欧洲激情综合 | 亚洲欧洲精品久久 | 97超碰福利久久精品 | av在线播放网址 | 国产在线超碰 | 深夜视频久久 | 麻豆影视网站 | 国产成人精品久久二区二区 | 伊甸园永久入口www 99热 精品在线 | 免费观看成年人视频 | 久久免费视频4 | 91精品国自产在线偷拍蜜桃 | 欧美精品xxx | 91成年视频| 日韩黄色大片在线观看 | 亚洲午夜av电影 | 亚洲美女精品视频 | 天天爽夜夜爽人人爽曰av | 啪啪动态视频 | 亚州精品国产 | 高清一区二区三区av | 蜜桃视频成人在线观看 | 亚洲精品久久久久久久蜜桃 | v片在线播放| 亚洲欧美成人 | 久久久av电影 | 中文有码在线视频 | 在线观看成人毛片 | a在线观看免费视频 | 精品一区二区免费 | 高清av在线 | 国产乱码精品一区二区蜜臀 | 亚洲日本欧美在线 | 久久久久久久久久久高潮一区二区 | 免费进去里的视频 | 亚洲第一区在线播放 | 亚洲一区 影院 | 色99视频| 在线视频一区观看 | 四虎影视久久久 | 亚洲国产婷婷 | 美女视频黄网站 | 亚洲天堂免费视频 | 一级黄色大片在线观看 | 国产精品99久久久久久大便 | 久久久久久久久久久网站 | 99久久精品无码一区二区毛片 | 免费观看不卡av | 97在线观看视频 | 久久99婷婷 | 国产精品男女啪啪 | 成人黄色中文字幕 | 手机av在线网站 | 成人黄色片免费 | 国际精品久久久久 | 免费观看久久 | 日本黄色大片免费 | 亚洲一区天堂 | 久久久久久久久久亚洲精品 | 久久精品伊人 | 久久亚洲影院 | 日韩av三区 | 九九久久婷婷 | 亚洲九九九在线观看 | 99久久精品一区二区成人 | 波多野结衣精品在线 | 在线国产视频观看 | 午夜精品电影 | 黄色软件在线看 | 97色在线视频 | 久久成人国产精品一区二区 | 又黄又爽又无遮挡免费的网站 | 亚洲综合激情网 | 国产综合精品久久 | 成人免费在线电影 | av福利在线看 | 天天色天天射综合网 | 久久久久精 | 99色人| 五月婷香蕉久色在线看 | 成人黄色av网站 | 亚洲视频免费在线观看 | 国产91精品看黄网站在线观看动漫 | 91九色国产| av丁香 | 黄色中文字幕 | 在线观看岛国 | a精品视频 | 精品视频久久久久久 | 久久久久电影网站 | 天天操天天摸天天射 | 香蕉一区 | 麻豆视频91 | 欧美污网站 | 91福利试看 | 激情丁香月 | 亚洲 欧美 91 | 波多野结衣视频一区二区三区 | 色资源二区在线视频 | 久久精品一二三区白丝高潮 | 久久国产精品视频免费看 | 国产毛片久久 | 99在线视频免费观看 | 日韩av片无码一区二区不卡电影 | 色婷婷亚洲综合 | 天天射天天舔天天干 | 国产精品久久婷婷六月丁香 | 伊人午夜 | 人人玩人人添人人澡97 | 久久久久久国产精品亚洲78 | 日韩三区在线 | 国产精品美女 | 粉嫩av一区二区三区四区五区 | 草久在线观看视频 | 黄色亚洲片 | 久久蜜臀av | 在线看欧美 | 日本丶国产丶欧美色综合 | 日韩精品一区二区三区免费观看视频 | 一本一道久久a久久精品蜜桃 | 日韩精品电影在线播放 | 在线电影播放 | 久久综合精品国产一区二区三区 | 国产高清视频在线播放一区 | 97在线视| 午夜免费福利视频 | 免费观看一级一片 | 国产视频在 | 黄色午夜网站 | 9999在线 | 久久国产精品久久国产精品 | 天天摸夜夜添 | 日日摸日日 | 久久久久久久久毛片 | 91超碰在线播放 | 91av视频在线免费观看 | 亚洲成免费| 亚洲午夜久久久久久久久久久 | 亚洲精品短视频 | 国产精品一区二区中文字幕 | 91在线视频精品 | 91网在线| 蜜臀aⅴ国产精品久久久国产 | 五月天婷婷视频 | 日韩在线观看视频一区二区三区 | 91丨九色丨勾搭 | 欧美精品久久久久a | 友田真希x88av | 草久视频在线观看 | 国产精品成人一区二区 | 中文字幕在线观看第一区 | 久久9视频 | 国产成人精品一区二区在线观看 | 欧美乱码精品一区二区 | 91精品啪在线观看国产81旧版 | 91粉色视频 | 成片人卡1卡2卡3手机免费看 | 综合伊人av | 亚洲尺码电影av久久 | 日韩videos | 欧美精品一级视频 | 一区二区三区四区在线 | 91久久精| 亚洲免费资源 | 国产美女网站在线观看 | 久久免费看av | 日韩久久精品一区二区三区 | 欧美日韩国产在线一区 | 中文字幕视频三区 | 色吊丝在线永久观看最新版本 | 免费在线观看91 | 九九色视频 | 日本黄色免费在线观看 | 亚洲精品乱码久久久久久9色 | 亚洲女欲精品久久久久久久18 | av福利在线导航 | 国产视频在线免费观看 | 91精品国产高清自在线观看 | 国产明星视频三级a三级点| 99热在线观看 | 白丝av免费观看 | 国产破处在线视频 | 精品少妇一区二区三区在线 | 精品在线视频观看 | 国产美女视频免费观看的网站 | 五月激情片| 国产精品久久电影网 | 在线观看成年人 | 一区 在线 影院 | 91网免费看 | 久久久色 | 在线视频一二区 | 久久96国产精品久久99漫画 | 在线观看中文字幕视频 | 久久成人免费 | 精品久久久久久久 | 91丨九色丨勾搭 | av在线进入 | 看av在线| 国产精品自产拍在线观看 | 日本中文乱码卡一卡二新区 | 婷婷综合电影 | 91视频国产高清 | 欧美日韩在线精品一区二区 | 日日操日日插 | 亚洲精品国产精品国 | 人人干在线 | 国产精品欧美久久久久天天影视 | wwwwww色| 九九热视频在线播放 | 中文乱幕日产无线码1区 | 91传媒在线观看 | www.com在线观看 | 日韩免费高清 | 天天鲁天天干天天射 | 夜色成人网 | 成人av一区二区兰花在线播放 | 天天天操天天天干 | 97操操操 | 一级黄色片在线 | 伊人久久精品久久亚洲一区 | 中文网丁香综合网 | 一区二区三区观看 | 在线播放第一页 | 人人干,人人爽 | 91在线视频精品 | 超碰日韩 | 精品久久一| 国产在线a免费观看 | 插婷婷| 中文字幕日本特黄aa毛片 | 久久99国产综合精品 | 色综合久久久网 | 97超碰人人澡 | 91久久国产综合精品女同国语 | 国产成人在线免费观看 | 亚洲成人资源 | 日韩精品一区二区三区中文字幕 | 91最新国产 | 国产精品毛片一区视频播不卡 | 欧美一级片在线 | 一本一道久久a久久精品蜜桃 | av电影在线播放 | 国产欧美精品一区二区三区四区 | 五月婷婷深开心 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 精品久久一级片 | 天天拍天天色 | 欧美成人h版电影 | 日韩欧美在线播放 | 国产一区二区日本 | 国产精品久久久久久久久蜜臀 | 国产特级毛片aaaaaa毛片 | 免费日韩一区二区三区 | 黄色影院在线免费观看 | 中文字幕在线免费看线人 | 日韩理论电影在线观看 | 91精品国自产拍天天拍 | 欧美小视频在线观看 | 欧美日韩高清一区二区 国产亚洲免费看 | 免费在线电影网址大全 | 日韩欧美一区二区三区免费观看 | 欧洲色综合 | 午夜精品一区二区三区四区 | 美女久久久久久久久久久 | 国产精品成人久久久 | 国产精品欧美精品 | 在线观看视频福利 | 国产一级免费电影 | 免费a一级 | www.91av在线 | 91最新地址永久入口 | 亚洲精品理论片 | www.夜夜草| 久久精品这里都是精品 | 五月激情六月丁香 | 99视频在线免费 | 一区 在线 影院 | 91精品成人 | 欧美午夜性生活 | 麻豆va一区二区三区久久浪 | 99久热在线精品视频观看 | 亚洲人人av | 国产精品久久久久婷婷二区次 | 精品一区二区三区四区在线 | 久久久久免费精品视频 | 久久久久久久久黄色 | 免费久久久久久 | 99视频国产精品 | 久久精品国产成人精品 | 亚洲欧美日韩一区二区三区在线观看 | www.av免费观看 | 黄色三级免费观看 | 怡红院av久久久久久久 | 91九色成人 | 免费看黄在线 | 久久久国产成人 | av在线播放一区二区三区 | 午夜免费福利片 | 精品视频免费观看 | 五月天婷婷在线播放 | 日韩性片 | 91探花视频| 成人午夜剧场在线观看 | 免费人成在线观看网站 | 91精品免费在线 | 欧美激情精品久久久久久 | 天天综合久久综合 | 日韩精品久久久久久 | 九九热免费视频在线观看 | 欧美激情综合五月 | 国产视频网站在线观看 | 免费高清国产 | 亚洲精品小视频在线观看 | 欧美日韩在线观看一区二区三区 | 亚洲欧美经典 | 色婷婷在线播放 | 久久视 | 国产精品久久久久久久久免费看 | 国产精品一区免费看8c0m | 亚洲一级黄色片 | 欧美福利视频一区 | 天天综合网入口 | 伊人国产在线观看 | 免费毛片一区二区三区久久久 | 成人h视频在线 | 色综合久久综合网 | 国产中文字幕一区二区三区 | 日本韩国中文字幕 | 国产手机在线视频 | 日韩电影在线观看中文字幕 | 日韩欧美在线高清 | 国产精品久久久久久久久久久不卡 | 日韩激情视频在线观看 | 最新免费中文字幕 | 五月在线 | 亚洲乱亚洲乱亚洲 | 亚洲 欧美变态 另类 综合 | 99婷婷狠狠成为人免费视频 | 免费精品在线 | 国产一级h | av在线免费观看不卡 | 国产黄网在线 | 国产高清不卡 | 黄色成人91 | 国产精品专区一 | 看片的网址| 成全免费观看视频 | 国产亚洲成人网 | 国产亚洲一区二区三区 | 欧美日韩精品在线观看视频 | 久久久久女教师免费一区 | 国产在线传媒 | 久久一级片 | 91av在线不卡| a黄色影院 | 天天干夜夜爽 | 黄色av电影在线观看 | 天天插综合 | 91天天视频 | 亚洲午夜久久久久久久久久久 | 精品美女在线观看 | 在线看v片| 日韩电影一区二区三区在线观看 | 97在线公开视频 | 国产精品久久片 | 精品少妇一区二区三区在线 | 国产精品每日更新 | 在线观看中文字幕av | 欧美日韩视频在线播放 | 精品视频亚洲 | 超碰在线人 | 国产精品自在欧美一区 | 久久99久久久久 | 国产高清第一页 | 日韩黄色在线观看 | 久久久精品视频网站 | 久久久久五月 | 五月天色丁香 | 久久久.com| 一级片观看 | 国色天香永久免费 | 91亚洲精品久久久中文字幕 | 色婷婷狠 | av成人亚洲 | 国产精品久久久久久999 | 91精品一区二区三区久久久久久 | 久久久久成人精品 | 国产精品永久在线 | 91精品在线免费观看 | 九九久久久久99精品 | 国产玖玖在线 | 日韩女同一区二区三区在线观看 | 五月天色网站 | 日日夜夜噜噜噜 | 精品国产视频一区 | 不卡av在线免费观看 | 亚洲91网站| 国产精品嫩草影院99网站 | 欧美一区二区三区四区夜夜大片 | 欧美一级免费 | 国产91精品看黄网站在线观看动漫 | 免费av大片 | 激情网第四色 | 亚洲精品午夜一区人人爽 | 久久久久免费精品国产 | 欧美色图视频一区 | 国产高清免费在线播放 | 99精品99 | 欧美日韩高清不卡 | 最近中文字幕大全中文字幕免费 | 亚洲影视资源 | 国产成人精品国内自产拍免费看 | 欧美99精品| 69欧美视频| 日韩精品久久一区二区三区 | 国产无套精品久久久久久 | 国产91在线观看 | 97超碰总站| 亚洲狠狠丁香婷婷综合久久久 | 国产成人精品一区二区在线观看 | 久久久免费毛片 | 久久婷婷综合激情 | 亚洲激情 欧美激情 | 久久亚洲免费视频 | 中文字幕精品一区 | 亚洲精品久久久久999中文字幕 | 日韩精品一区二区三区第95 | 亚洲va欧美| 深爱激情五月婷婷 | 免费在线色电影 | 日韩伦理片hd | 深夜免费小视频 | 日韩精品一区二区久久 | 日韩在线观看av | a天堂最新版中文在线地址 久久99久久精品国产 | 久草在线这里只有精品 | www.黄色片网站 | 国产黄色av| 国产精品网站 | 狠狠狠狠狠狠狠 | 国产精品99久久久精品免费观看 | 国产精品久久久毛片 | 在线免费观看国产黄色 | 日韩在线观看中文字幕 | 天天插天天射 | 国产精品久久嫩一区二区免费 | 久久观看| 亚洲综合欧美激情 | 欧美精品在线一区二区 | 婷婷六月丁香激情 | www.亚洲精品在线 | 久久精国产 | 日日夜夜天天 | 在线视频欧美精品 | а天堂中文最新一区二区三区 | 在线观看色视频 | www在线观看视频 | 婷久久| 国产精品成人av电影 | 国产老太婆免费交性大片 | 91精品啪 | 久久国产精品一区二区三区四区 | 久久国产精品久久久 | 免费av视屏 | 亚洲精品在线观 | a视频在线播放 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 成人在线视频观看 | 97精品超碰一区二区三区 | 亚洲精品黄色片 | 日韩欧美v | 日本三级吹潮在线 | 久久综合九色综合网站 | www.香蕉| 国产一区二区在线免费视频 | 天天躁天天操 | 国产精品大片免费观看 | 久久综合影视 | 国产黄色成人 | 激情视频久久 | 中文字幕日本在线 | 中文字幕在线观看日本 | 人人爽人人澡 | 成人中文字幕+乱码+中文字幕 | 国产一区在线视频 |