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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

纯API函数实现串口读写。

發(fā)布時間:2023/11/30 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 纯API函数实现串口读写。 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
以最后決定用純API函數(shù)實現(xiàn)串口讀寫。
先從網(wǎng)上搜索相關(guān)代碼(關(guān)鍵字:C# API 串口),發(fā)現(xiàn)網(wǎng)上相關(guān)的資料大約來源于一個版本,那就是所謂的msdn提供的樣例代碼(msdn的具體出處,我沒有考證),其它的代碼大都是它的變種。
其實這個示例代碼是有問題的,也就是說DCB結(jié)構(gòu)體聲明的有問題,雖然該代碼可以正常通信,不過如果你設(shè)置了奇偶校驗的話,你會發(fā)現(xiàn)奇偶校驗無效。
VC中的DCB結(jié)構(gòu)聲明如下:
typedef struct _DCB {
??? DWORD DCBlength;????? /* sizeof(DCB)???????????????????? */
??? DWORD BaudRate;?????? /* Baudrate at which running?????? */
??? DWORD fBinary: 1;???? /* Binary Mode (skip EOF check)??? */
??? DWORD fParity: 1;???? /* Enable parity checking????????? */
??? DWORD fOutxCtsFlow:1; /* CTS handshaking on output?????? */
??? DWORD fOutxDsrFlow:1; /* DSR handshaking on output?????? */
??? DWORD fDtrControl:2; /* DTR Flow control??????????????? */
??? DWORD fDsrSensitivity:1; /* DSR Sensitivity????????????? */
??? DWORD fTXContinueOnXoff: 1; /* Continue TX when Xoff sent */
??? DWORD fOutX: 1;?????? /* Enable output X-ON/X-OFF??????? */
??? DWORD fInX: 1;??????? /* Enable input X-ON/X-OFF???????? */
??? DWORD fErrorChar: 1; /* Enable Err Replacement????????? */
??? DWORD fNull: 1;?????? /* Enable Null stripping?????????? */
??? DWORD fRtsControl:2; /* Rts Flow control??????????????? */
??? DWORD fAbortOnError:1; /* Abort all reads and writes on Error */
??? DWORD fDummy2:17;???? /* Reserved??????????????????????? */
??? WORD wReserved;?????? /* Not currently used????????????? */
??? WORD XonLim;????????? /* Transmit X-ON threshold???????? */
??? WORD XoffLim;???????? /* Transmit X-OFF threshold??????? */
??? BYTE ByteSize;??????? /* Number of bits/byte, 4-8??????? */
??? BYTE Parity;????????? /* 0-4=None,Odd,Even,Mark,Space??? */
??? BYTE StopBits;??????? /* 0,1,2 = 1, 1.5, 2?????????????? */
??? char XonChar;???????? /* Tx and Rx X-ON character??????? */
??? char XoffChar;??????? /* Tx and Rx X-OFF character?????? */
??? char ErrorChar;?????? /* Error replacement char????????? */
??? char EofChar;???????? /* End of Input character????????? */
??? char EvtChar;???????? /* Received Event character??????? */
??? WORD wReserved1;????? /* Fill for now.?????????????????? */
} DCB, *LPDCB;
?
有問題的代碼DCB結(jié)構(gòu)聲明如下:
[StructLayout(LayoutKind.Sequential)]
??????? public struct DCB
??????? {
??????????? public int DCBlength;
??????????? public int BaudRate;
??????????? public int fBinary;
??????????? public int fParity;
??????????? public int fOutxCtsFlow;
??????????? public int fOutxDsrFlow;
??????????? public int fDtrControl;
??????????? public int fDsrSensitivity;
??????????? public int fTXContinueOnXoff;
??????????? public int fOutX;
??????????? public int fInX;
??????????? public int fErrorChar;
??????????? public int fNull;
??????????? public int fRtsControl;
??????????? public int fAbortOnError;
??????????? public int fDummy2;
??????????? public uint flags;
??????????? public ushort wReserved;
??????????? public ushort XonLim;
??????????? public ushort XoffLim;
??????????? public byte ByteSize;
??????????? public byte Parity;
??????????? public byte StopBits;
??????????? public byte XonChar;
??????????? public byte XoffChar;
??????????? public byte ErrorChar;
??????????? public byte EofChar;
??????????? public byte EvtChar;
??????????? public ushort wReserved1;
??????? }
對C++比較熟悉網(wǎng)友應(yīng)該知道,結(jié)構(gòu)體中這種格式的聲明,如DWORD fBinary: 1;是以位為單位進(jìn)行變量設(shè)置的,DCB中相關(guān)位一共占4個字節(jié),也就是相當(dāng)于C#中的一個int變量所占的空間。很明顯上面的DCB結(jié)構(gòu)會有問題,實際上后面你設(shè)置的串口參數(shù),如奇偶校驗由于偏移有問題,雖然你設(shè)置了,其實都沒有設(shè)置成功。
其實也不是我說人家的DCB聲明錯了就錯了,在SerialPort類中你就可以找到微軟官方自己的DCB聲明(需要反編譯SerialPort類),聲明如下:
[StructLayout(LayoutKind.Sequential)]
??????? public struct DCB
??????? {
??????????? public int DCBlength;
??????????? public int BaudRate;
??????????? public uint Flags;
??????????? public ushort wReserved;
??????????? public ushort XonLim;
??????????? public ushort XoffLim;
??????????? public byte ByteSize;
??????????? public byte Parity;
??????????? public byte StopBits;
??????????? public byte XonChar;
??????????? public byte XoffChar;
??????????? public byte ErrorChar;
??????????? public byte EofChar;
??????????? public byte EvtChar;
??????????? public ushort wReserved1;
??????? }
并且專門有一個設(shè)置位標(biāo)志的函數(shù),如下:
internal void SetDcbFlag(int whichFlag, int setting)
??????? {
??????????? uint num;
??????????? setting = setting << whichFlag;
??????????? if ((whichFlag == 4) || (whichFlag == 12))
??????????? {
??????????????? num = 3;
??????????? }
??????????? else if (whichFlag == 15)
??????????? {
??????????????? num = 0x1ffff;
??????????? }
??????????? else
??????????? {
??????????????? num = 1;
??????????? }
??????????? dcb.flags &= ~(num << whichFlag);
??????????? dcb.flags |= (uint)setting;
??????? }
經(jīng)過修改能正確運行的API代碼如下(注意,由于我是在WinCE平臺上運行,所以DLL的路徑為" //windows//coredll.dll",你修改為"kernel32"后即可在PC機(jī)使用):
///<summary>
??? /// API串口類 葉帆修改 http://blog.csdn.net/yefanqiu
??? ///</summary>
??? public class CommPort
??? {
??????? ///<summary>
??????? ///端口名稱(COM1,COM2...COM4...)
??????? ///</summary>
??????? public string Port = "COM1:";
??????? ///<summary>
??????? ///波特率9600
??????? ///</summary>
??????? public int BaudRate = 9600;
??????? ///<summary>
??????? ///數(shù)據(jù)位4-8
??????? ///</summary>
??????? public byte ByteSize = 8; //4-8
??????? ///<summary>
??????? ///奇偶校驗0-4=no,odd,even,mark,space
??????? ///</summary>
??????? public byte Parity = 0;?? //0-4=no,odd,even,mark,space
??????? ///<summary>
??????? ///停止位
??????? ///</summary>
??????? public byte StopBits = 0;?? //0,1,2 = 1, 1.5, 2
??????? ///<summary>
??????? ///超時長
??????? ///</summary>
??????? public int ReadTimeout = 200;
??????? ///<summary>
??????? ///串口是否已經(jīng)打開
??????? ///</summary>
??????? public bool Opened = false;
??????? ///<summary>
??????? /// COM口句柄
??????? ///</summary>
??????? private int hComm = -1;
?
??????? #region "API相關(guān)定義"
??????? private const string DLLPATH = " //windows//coredll.dll"; // "kernel32";
?
??????? ///<summary>
??????? /// WINAPI常量,寫標(biāo)志
??????? ///</summary>
??????? private const uint GENERIC_READ = 0x80000000;
??????? ///<summary>
??????? /// WINAPI常量,讀標(biāo)志
??????? ///</summary>
??????? private const uint GENERIC_WRITE = 0x40000000;
??????? ///<summary>
??????? /// WINAPI常量,打開已存在
??????? ///</summary>
??????? private const int OPEN_EXISTING = 3;
??????? ///<summary>
??????? /// WINAPI常量,無效句柄
??????? ///</summary>
??????? private const int INVALID_HANDLE_VALUE = -1;
?
??????? private const int PURGE_RXABORT = 0x2;
??????? private const int PURGE_RXCLEAR = 0x8;
??????? private const int PURGE_TXABORT = 0x1;
??????? private const int PURGE_TXCLEAR = 0x4;
?
??????? ///<summary>
??????? ///設(shè)備控制塊結(jié)構(gòu)體類型
??????? ///</summary>
??????? [StructLayout(LayoutKind.Sequential)]
??????? public struct DCB
??????? {
?????????? ///<summary>
??????????? /// DCB長度
??????????? ///</summary>
??????????? public int DCBlength;
??????????? ///<summary>
??????????? ///指定當(dāng)前波特率
??????????? ///</summary>
??????????? public int BaudRate;
??????????? ///<summary>
??????????? ///標(biāo)志位
??????????? ///</summary>
??????????? public uint flags;
??????????? ///<summary>
??????????? ///未使用,必須為0
??????????? ///</summary>
??????????? public ushort wReserved;
??????????? ///<summary>
??????????? ///指定在XON字符發(fā)送這前接收緩沖區(qū)中可允許的最小字節(jié)數(shù)
??????????? ///</summary>
??????????? public ushort XonLim;
??????????? ///<summary>
??????????? ///指定在XOFF字符發(fā)送這前接收緩沖區(qū)中可允許的最小字節(jié)數(shù)
??????????? ///</summary>
??????????? public ushort XoffLim;
??????????? ///<summary>
??????????? ///指定端口當(dāng)前使用的數(shù)據(jù)位
??????????? ///</summary>
??????????? public byte ByteSize;
??????????? ///<summary>
??????????? ///指定端口當(dāng)前使用的奇偶校驗方法,可能為:EVENPARITY,MARKPARITY,NOPARITY,ODDPARITY 0-4=no,odd,even,mark,space
??????????? ///</summary>
??????????? public byte Parity;
??????????? ///<summary>
??????????? ///指定端口當(dāng)前使用的停止位數(shù),可能為:ONESTOPBIT,ONE5STOPBITS,TWOSTOPBITS 0,1,2 = 1, 1.5, 2
??????????? ///</summary>
??????????? public byte StopBits;
??????????? ///<summary>
??????????? ///指定用于發(fā)送和接收字符XON的值 Tx and Rx XON character
??????????? ///</summary>
??????????? public byte XonChar;
??????????? ///<summary>
??????????? ///指定用于發(fā)送和接收字符XOFF值 Tx and Rx XOFF character
??????????? ///</summary>
??????????? public byte XoffChar;
??????????? ///<summary>
??????????? ///本字符用來代替接收到的奇偶校驗發(fā)生錯誤時的值
??????????? ///</summary>
??????????? public byte ErrorChar;
??????????? ///<summary>
??????????? ///當(dāng)沒有使用二進(jìn)制模式時,本字符可用來指示數(shù)據(jù)的結(jié)束
??????????? ///</summary>
??????????? public byte EofChar;
??????????? ///<summary>
??????????? ///當(dāng)接收到此字符時,會產(chǎn)生一個事件
??????????? ///</summary>
??????????? public byte EvtChar;
??????????? ///<summary>
??????????? ///未使用
??????????? ///</summary>
??????????? public ushort wReserved1;
??????? }
?
??????? ///<summary>
??????? ///串口超時時間結(jié)構(gòu)體類型
??????? ///</summary>
??????? [StructLayout(LayoutKind.Sequential)]
??????? private struct COMMTIMEOUTS
??????? {
??????????? public int ReadIntervalTimeout;
??????????? public int ReadTotalTimeoutMultiplier;
??????????? public int ReadTotalTimeoutConstant;
??????????? public int WriteTotalTimeoutMultiplier;
??????????? public int WriteTotalTimeoutConstant;
??????? }
?
??????? ///<summary>
??????? ///溢出緩沖區(qū)結(jié)構(gòu)體類型
??????? ///</summary>
??????? [StructLayout(LayoutKind.Sequential)]
??????? private struct OVERLAPPED
??????? {
??????????? public int Internal;
??????????? public int InternalHigh;
??????????? public int Offset;
??????????? public int OffsetHigh;
??????????? public int hEvent;
??????? }
?
??????? ///<summary>
??????? ///打開串口
??????? ///</summary>
??????? ///<param name="lpFileName">要打開的串口名稱</param>
??????? ///<param name="dwDesiredAccess">指定串口的訪問方式,一般設(shè)置為可讀可寫方式</param>
??????? ///<param name="dwShareMode">指定串口的共享模式,串口不能共享,所以設(shè)置為0</param>
??????? ///<param name="lpSecurityAttributes">設(shè)置串口的安全屬性,WIN9X下不支持,應(yīng)設(shè)為NULL</param>
??????? ///<param name="dwCreationDisposition">對于串口通信,創(chuàng)建方式只能為OPEN_EXISTING</param>
??????? ///<param name="dwFlagsAndAttributes">指定串口屬性與標(biāo)志,設(shè)置為FILE_FLAG_OVERLAPPED(重疊I/O操作),指定串口以異步方式通信</param>
??????? ///<param name="hTemplateFile">對于串口通信必須設(shè)置為NULL</param>
??????? [DllImport(DLLPATH)]
??????? private static extern int CreateFile(string lpFileName, uint dwDesiredAccess, int dwShareMode,
??????? int lpSecurityAttributes, int dwCreationDisposition, int dwFlagsAndAttributes, int hTemplateFile);
?
??????? ///<summary>
??????? ///得到串口狀態(tài)
??????? ///</summary>
??????? ///<param name="hFile">通信設(shè)備句柄</param>
??????? ///<param name="lpDCB">設(shè)備控制塊DCB</param>
??????? [DllImport(DLLPATH)]
??????? private static extern bool GetCommState(int hFile, ref DCB lpDCB);
?
??????? ///<summary>
??????? ///建立串口設(shè)備控制塊(嵌入版沒有)
??????? ///</summary>
??????? ///<param name="lpDef">設(shè)備控制字符串</param>
??????? ///<param name="lpDCB">設(shè)備控制塊</param>
??????? //[DllImport(DLLPATH)]
??????? //private static extern bool BuildCommDCB(string lpDef, ref DCB lpDCB);
?
??????? ///<summary>
??????? ///設(shè)置串口狀態(tài)
??????? ///</summary>
??????? ///<param name="hFile">通信設(shè)備句柄</param>
??????? ///<param name="lpDCB">設(shè)備控制塊</param>
??????? [DllImport(DLLPATH)]
??????? private static extern bool SetCommState(int hFile, ref DCB lpDCB);
?
??????? ///<summary>
??????? ///讀取串口超時時間
??????? ///</summary>
??????? ///<param name="hFile">通信設(shè)備句柄</param>
??????? ///<param name="lpCommTimeouts">超時時間</param>
??????? [DllImport(DLLPATH)]
??????? private static extern bool GetCommTimeouts(int hFile, ref COMMTIMEOUTS lpCommTimeouts);
?
??????? ///<summary>
??????? ///設(shè)置串口超時時間
??????? ///</summary>
??????? ///<param name="hFile">通信設(shè)備句柄</param>
??????? ///<param name="lpCommTimeouts">超時時間</param>
??????? [DllImport(DLLPATH)]
??????? private static extern bool SetCommTimeouts(int hFile, ref COMMTIMEOUTS lpCommTimeouts);
?
??????? ///<summary>
??????? ///讀取串口數(shù)據(jù)
??????? ///</summary>
??????? ///<param name="hFile">通信設(shè)備句柄</param>
??????? ///<param name="lpBuffer">數(shù)據(jù)緩沖區(qū)</param>
??????? ///<param name="nNumberOfBytesToRead">多少字節(jié)等待讀取</param>
??????? ///<param name="lpNumberOfBytesRead">讀取多少字節(jié)</param>
??????? ///<param name="lpOverlapped">溢出緩沖區(qū)</param>
??????? [DllImport(DLLPATH)]
??????? private static extern bool ReadFile(int hFile, byte[] lpBuffer, int nNumberOfBytesToRead,
??????? ref int lpNumberOfBytesRead, ref OVERLAPPED lpOverlapped);
?
??????? ///<summary>
??????? ///寫串口數(shù)據(jù)
??????? ///</summary>
??????? ///<param name="hFile">通信設(shè)備句柄</param>
??????? ///<param name="lpBuffer">數(shù)據(jù)緩沖區(qū)</param>
??????? ///<param name="nNumberOfBytesToWrite">多少字節(jié)等待寫入</param>
??????? ///<param name="lpNumberOfBytesWritten">已經(jīng)寫入多少字節(jié)</param>
??????? ///<param name="lpOverlapped">溢出緩沖區(qū)</param>
??????? [DllImport(DLLPATH)]
??????? private static extern bool WriteFile(int hFile, byte[] lpBuffer, int nNumberOfBytesToWrite,
??????? ref int lpNumberOfBytesWritten, ref OVERLAPPED lpOverlapped);
?
??????? [DllImport(DLLPATH, SetLastError = true)]
??????? private static extern bool FlushFileBuffers(int hFile);
?
??????? [DllImport(DLLPATH, SetLastError = true)]
??????? private static extern bool PurgeComm(int hFile, uint dwFlags);
?
??????? ///<summary>
??????? ///關(guān)閉串口
??????? ///</summary>
??????? ///<param name="hObject">通信設(shè)備句柄</param>
??????? [DllImport(DLLPATH)]
??????? private static extern bool CloseHandle(int hObject);
?
??????? ///<summary>
??????? ///得到串口最后一次返回的錯誤
??????? ///</summary>
??????? [DllImport(DLLPATH)]
??????? private static extern uint GetLastError();
??????? #endregion
?
??????? ///<summary>
??????? ///設(shè)置DCB標(biāo)志位
??????? ///</summary>
??????? ///<param name="whichFlag"></param>
??????? ///<param name="setting"></param>
??????? ///<param name="dcb"></param>
??????? internal void SetDcbFlag(int whichFlag, int setting, DCB dcb)
??????? {
??????????? uint num;
??????????? setting = setting << whichFlag;
??????????? if ((whichFlag == 4) || (whichFlag == 12))
??????????? {
??????????????? num = 3;
??????????? }
??????????? else if (whichFlag == 15)
??????????? {
??????????????? num = 0x1ffff;
??????????? }
??????????? else
??????????? {
??????????????? num = 1;
??????????? }
??????????? dcb.flags &= ~(num << whichFlag);
??????????? dcb.flags |= (uint)setting;
??????? }
?
??????? ///<summary>
??????? ///建立與串口的連接
??????? ///</summary>
??????? public int Open()
??????? {
??????????? DCB dcb = new DCB();
??????????? COMMTIMEOUTS ctoCommPort = new COMMTIMEOUTS();
?
??????????? // 打開串口
??????????? hComm = CreateFile(Port, GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0);
??????????? if (hComm == INVALID_HANDLE_VALUE)
??????????? {
??????????????? return -1;
??????????? }
??????????? // 設(shè)置通信超時時間
??????????? GetCommTimeouts(hComm, ref ctoCommPort);
??????????? ctoCommPort.ReadTotalTimeoutConstant = ReadTimeout;
??????????? ctoCommPort.ReadTotalTimeoutMultiplier = 0;
??????????? ctoCommPort.WriteTotalTimeoutMultiplier = 0;
??????????? ctoCommPort.WriteTotalTimeoutConstant = 0;
??????????? SetCommTimeouts(hComm, ref ctoCommPort);
?
??????????? //設(shè)置串口參數(shù)
??????????? GetCommState(hComm, ref dcb);
??????????? dcb.DCBlength = Marshal.SizeOf(dcb);
??????????? dcb.BaudRate = BaudRate;
??????????? dcb.flags = 0;
??????????? dcb.ByteSize = (byte)ByteSize;
??????????? dcb.StopBits = StopBits;
??????????? dcb.Parity = (byte)Parity;
?
??????????? //------------------------------
??????????? SetDcbFlag(0, 1, dcb);??????????? //二進(jìn)制方式
??????????? SetDcbFlag(1, (Parity == 0) ? 0 : 1, dcb);
??????????? SetDcbFlag(2, 0, dcb);??????????? //不用CTS檢測發(fā)送流控制
??????????? SetDcbFlag(3, 0, dcb);??????????? //不用DSR檢測發(fā)送流控制
??????????? SetDcbFlag(4, 0, dcb);??????????? //禁止DTR流量控制
??????????? SetDcbFlag(6, 0, dcb);??????????? //對DTR信號線不敏感
??????????? SetDcbFlag(9, 1, dcb);??????????? //檢測接收緩沖區(qū)
??????????? SetDcbFlag(8, 0, dcb);??????????? //不做發(fā)送字符控制
??????????? SetDcbFlag(10, 0, dcb);?????????? //是否用指定字符替換校驗錯的字符
??????????? SetDcbFlag(11, 0, dcb);?????????? //保留NULL字符
??????????? SetDcbFlag(12, 0, dcb);?????????? //允許RTS流量控制
??????????? SetDcbFlag(14, 0, dcb);?????????? //發(fā)送錯誤后,繼續(xù)進(jìn)行下面的讀寫操作
??????????? //--------------------------------
??????????? dcb.wReserved = 0;?????????????????????? //沒有使用,必須為0??????
??????????? dcb.XonLim = 0;????????????????????????? //指定在XOFF字符發(fā)送之前接收到緩沖區(qū)中可允許的最小字節(jié)數(shù)
??????????? dcb.XoffLim = 0;???????????????????????? //指定在XOFF字符發(fā)送之前緩沖區(qū)中可允許的最小可用字節(jié)數(shù)
??????????? dcb.XonChar = 0;???????????????????????? //發(fā)送和接收的XON字符
??????????? dcb.XoffChar = 0;??????????????????????? //發(fā)送和接收的XOFF字符
??????????? dcb.ErrorChar = 0;?????????????????????? //代替接收到奇偶校驗錯誤的字符
??????????? dcb.EofChar = 0;???????????????????????? //用來表示數(shù)據(jù)的結(jié)束?????
??????????? dcb.EvtChar = 0;???????????????????????? //事件字符,接收到此字符時,會產(chǎn)生一個事件???????
??????????? dcb.wReserved1 = 0;????????????????????? //沒有使用
?
??????????? if (!SetCommState(hComm, ref dcb))
??????????? {
??????????????? return -2;
??????????? }
??????????? Opened = true;
??????????? return 0;
??????? }
??????? ///<summary>
??????? ///關(guān)閉串口,結(jié)束通訊
??????? ///</summary>
??????? public void Close()
??????? {
??????????? if (hComm != INVALID_HANDLE_VALUE)
??????????? {
??????????????? CloseHandle(hComm);
??????????? }
??????? }
??????? ///<summary>
??????? ///讀取串口返回的數(shù)據(jù)
??????? ///</summary>
??????? ///<param name="NumBytes">數(shù)據(jù)長度</param>
??????? public int Read(ref byte[] bytData, int NumBytes)
??????? {
??????????? if (hComm != INVALID_HANDLE_VALUE)
??????????? {
??????????????? OVERLAPPED ovlCommPort = new OVERLAPPED();
??????????????? int BytesRead = 0;
??????????????? ReadFile(hComm, bytData, NumBytes, ref BytesRead, ref ovlCommPort);
??????????????? return BytesRead;
??????????? }
??????????? else
??????????? {
??????????????? return -1;
??????????? }
??????? }
?
??????? ///<summary>
??????? ///向串口寫數(shù)據(jù)
??????? ///</summary>
??????? ///<param name="WriteBytes">數(shù)據(jù)數(shù)組</param>
??????? public int Write(byte[] WriteBytes, int intSize)
??????? {
??????????? if (hComm != INVALID_HANDLE_VALUE)
??????????? {
??????????????? OVERLAPPED ovlCommPort = new OVERLAPPED();
??????????????? int BytesWritten = 0;
??????????????? WriteFile(hComm, WriteBytes, intSize, ref BytesWritten, ref ovlCommPort);
??????????????? return BytesWritten;
??????????? }
??????????? else
??????????? {
??????????????? return -1;
??????????? }
??????? }
?
??????? ///<summary>
??????? ///清除接收緩沖區(qū)
??????? ///</summary>
??????? ///<returns></returns>
??????? public void ClearReceiveBuf()
??????? {
??????????? if (hComm != INVALID_HANDLE_VALUE)
??????????? {
??????????????? PurgeComm(hComm, PURGE_RXABORT | PURGE_RXCLEAR);
??????????? }
??????? }
?
??????? ///<summary>
??????? ///清除發(fā)送緩沖區(qū)
??????? ///</summary>
??????? public void ClearSendBuf()
??????? {
??????????? if (hComm != INVALID_HANDLE_VALUE)
??????????? {
??????????????? PurgeComm(hComm, PURGE_TXABORT | PURGE_TXCLEAR);
??????????? }
??????? }
?}
后記:我的串口程序修改為API方式后,實際發(fā)現(xiàn)與SerialPort類遇到同樣的問題,所以SerialPort類還是值得信任的。該API方式的代碼在WinCE平臺和PC平臺都調(diào)試通過。? 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的纯API函数实现串口读写。的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

国产亚洲精品久久久久久久久久久久 | 91 中文字幕 | 久久午夜网 | 不卡的av片 | 中文字幕在线观看第二页 | 天天射天天干天天插 | 日韩av一区二区三区四区 | 国产精品美女在线观看 | 91看片淫黄大片91 | 国产成人久久精品77777综合 | 九九久久成人 | 91免费在线播放 | 亚洲人成人天堂h久久 | 黄色成人影视 | 在线观看黄色 | 国产探花视频在线播放 | av青草 | 精品91视频| 亚洲午夜精品一区 | 精品国产一区二区三区久久久久久 | 亚洲区视频在线观看 | 日本资源中文字幕在线 | 日韩69av| 91麻豆精品国产91 | 99精品在线视频播放 | 国产小视频免费在线网址 | 久久国产精品99精国产 | 亚洲伊人婷婷 | 亚州av免费 | 91在线精品一区二区 | 精品久久久久久久久久岛国gif | www.夜夜操.com | 国产污视频在线观看 | 国产精品一二三 | 国产福利在线免费观看 | 日本护士撒尿xxxx18 | 91免费在线播放 | 久久国产免| www.久久免费视频 | 国产精品久久99精品毛片三a | av电影不卡在线 | 丁香久久婷婷 | 日韩欧美99| 日韩精品欧美专区 | 青青河边草免费观看 | 国模精品一区二区三区 | 成人免费xxxxxx视频 | 欧美日韩高清一区二区 国产亚洲免费看 | 欧美va天堂va视频va在线 | 国产精品乱码一区二三区 | 黄色三级免费片 | 国产一区影院 | 天天草天天 | 久久伦理视频 | 日本黄色免费在线观看 | 精品久久国产 | 91资源在线播放 | 成人免费看片网址 | 免费观看91 | 黄色av电影一级片 | 久久久99精品免费观看app | 97精品超碰一区二区三区 | 91一区一区三区 | 午夜久久福利视频 | 成人在线观看av | 免费在线观看av不卡 | 久久久久一区二区三区 | 黄色成人在线 | 亚州天堂| 国偷自产视频一区二区久 | 在线免费观看羞羞视频 | 一区在线电影 | 久精品在线观看 | www欧美色 | 在线观看国产 | 一级久久精品 | 国产成人三级在线播放 | 婷婷丁香激情综合 | 欧美国产日韩在线观看 | 激情在线免费视频 | 天天干亚洲| 99久久影视| 久久福利剧场 | 激情视频91| 天天摸夜夜操 | 天堂av高清| 久久成人综合 | 日韩中文字幕视频在线观看 | 狠狠色丁香久久婷婷综合丁香 | 欧美最猛性xxx | 精品久久1 | 欧美亚洲三级 | 色婷五月天 | 成人亚洲综合 | 啪啪小视频网站 | 狠狠躁日日躁狂躁夜夜躁 | 国产高清第一页 | 欧美日韩中字 | 国产在线观看午夜 | 日韩小视频 | 女人18毛片a级毛片一区二区 | 蜜臀aⅴ国产精品久久久国产 | www激情com | 欧美二区三区91 | 天天操福利视频 | 国产精品亚洲人在线观看 | 激情黄色av | 精品在线免费视频 | 高清av免费一区中文字幕 | 激情小说网站亚洲综合网 | 国产亲近乱来精品 | 国产成人精品一区二区三区福利 | 国产精品久久 | 亚洲精品久久久久中文字幕m男 | 欧美va天堂在线电影 | 97精品国产一二三产区 | 天天曰视频 | 99精品视频在线 | av午夜电影 | 久草网在线 | 黄色三级视频片 | 国产亚洲欧美精品久久久久久 | 久色 网 | 日韩网站在线看片你懂的 | 国产91区| 亚洲精品ww | 激情欧美一区二区三区 | 免费高清在线视频一区· | 免费在线观看午夜视频 | 欧美韩日视频 | 91视频最新网址 | 国产亚洲综合性久久久影院 | 国产一级免费播放 | 狠狠干婷婷 | 久草视频在线播放 | 99这里只有精品视频 | 天天爽夜夜操 | 日韩在线观看视频网站 | 日韩欧美精品一区二区 | 一区二区视频在线看 | 久久avav | 欧美在线观看禁18 | 国产69熟 | 国产精品视频999 | 久久久久免费看 | 色综合色综合色综合 | 热久在线 | 91禁看片 | 日韩精品视频久久 | 日韩网站免费观看 | 在线日韩中文字幕 | 波多野结衣一区三区 | 日韩精品一区二区三区丰满 | 丁香五月亚洲综合在线 | 91在线免费视频 | a视频免费看 | 黄色片网站大全 | 最新黄色av网址 | 亚洲第一久久久 | 欧美少妇bbwhd| 欧美成人在线免费 | 久久久这里有精品 | av中文字幕av | 99色在线观看| 超碰国产97 | 国产精品国产三级在线专区 | 国产精品乱码高清在线看 | 国产成人久久精品一区二区三区 | 国产成免费视频 | 日韩黄色软件 | 日韩精品一区二区三区高清免费 | 午夜久久久精品 | av女优中文字幕在线观看 | 亚洲精品午夜国产va久久成人 | 91九色视频在线播放 | 一级黄色视屏 | 香蕉视频在线免费 | 欧美做受高潮 | 视频二区 | 中文字幕在线观看的网站 | 在线成人免费电影 | 婷婷深爱五月 | 天天夜夜亚洲 | 亚洲精品456在线播放第一页 | 欧美日韩国产在线精品 | 国产精品专区在线观看 | 69av免费视频 | 深爱开心激情网 | 91私密视频 | 免费观看www视频 | 亚洲欧洲国产日韩精品 | 亚洲精品乱码久久久久久高潮 | 精品一区二区三区四区在线 | 欧美久久久久久久久久久 | 国产精选在线 | 日韩av中文 | 99精品在这里 | 国产不卡在线 | 黄色一级大片在线免费看国产一 | 国产精品一区二区你懂的 | 99精品欧美一区二区蜜桃免费 | 日韩二区在线 | 精品一区精品二区 | 色婷婷成人| 91精品播放 | 国内精品久久久久久久久久久久 | 国产精品9999久久久久仙踪林 | av播放在线 | 成人性生交大片免费看中文网站 | 中文字幕在线乱 | 91久久精品日日躁夜夜躁国产 | 色综合a| 8x8x在线观看视频 | 粉嫩av一区二区三区四区在线观看 | 亚洲mv大片欧洲mv大片免费 | 97超碰资源总站 | 国内精品久久久久久久久久 | 91香蕉视频黄色 | 97超碰超碰久久福利超碰 | 久久免费高清视频 | 欧美日韩裸体免费视频 | 久久人人爽爽人人爽人人片av | 久久av高清| 婷婷丁香花五月天 | 亚洲国产精品资源 | 免费日韩 精品中文字幕视频在线 | 亚洲成人av影片 | 超碰在97 | 九色91av| 成人av在线看 | 国产淫片 | 97超碰资源站 | 香蕉网站在线观看 | 97成人啪啪网 | www天天干| 国产美女久久久 | aa级黄色大片 | 美女久久一区 | 国产福利网站 | 777视频在线观看 | 精品999在线观看 | 狠狠干夜夜操 | 在线观看国产一区二区 | 在线看黄色的网站 | 一区二区三区免费在线观看视频 | 99这里只有久久精品视频 | 五月天色综合 | 日韩电影在线观看一区二区三区 | 中文字幕在线人 | 天天看天天干 | 国产精品久久久免费 | 人人爽人人爽人人片av | 免费成人av网站 | 日韩网站免费观看 | 欧美国产日韩久久 | 三级黄色理论片 | 成年人av在线播放 | 色窝资源| www.黄色| 伊人久久一区 | 射射色 | 免费在线国产视频 | 亚洲成色777777在线观看影院 | 麻豆视频免费在线播放 | 欧美日韩在线视频一区二区 | 国产精品涩涩屋www在线观看 | 欧美精品亚洲精品 | 免费a级毛片在线看 | 日韩精品一区二区在线观看 | 久久99网| 91人人在线| 免费日韩 精品中文字幕视频在线 | 国产精品99久久久久久大便 | 亚洲一二三久久 | 91色影院| 69国产精品视频免费观看 | 国内成人精品2018免费看 | 日韩av进入 | 欧美a级一区二区 | 国产精品综合av一区二区国产馆 | 91手机电视 | 久久久久久久久久久综合 | 特级毛片在线 | 国产福利a | 精品免费| 中文字幕资源网 国产 | 中文字幕第一页在线视频 | 在线看片日韩 | 丁香网五月天 | 亚洲人成影院在线 | 三级av在线免费观看 | 天天曰天天射 | 亚洲精品视频在线观看视频 | 伊人伊成久久人综合网小说 | 在线观看涩涩 | 91xav| 国产精品淫片 | 久章草在线观看 | 久久国语露脸国产精品电影 | 黄色三级网站在线观看 | 亚洲在线精品 | 综合网在线视频 | 国产精品av一区二区 | 国产精品久久久久久久久婷婷 | 久久精品国产一区二区三 | 国产成人1区 | 日日日视频 | 99在线观看精品 | 欧美激情精品 | 国产午夜精品一区二区三区欧美 | 国产色婷婷精品综合在线手机播放 | 久久精品视频一 | 正在播放日韩 | 国产成人一区二区三区 | 国产精品99久久久久久人免费 | 美女网站视频久久 | 麻豆视频免费在线 | 一区二区三区四区在线免费观看 | 在线观看免费成人av | 日韩一区二区三免费高清在线观看 | 日韩国产精品一区 | 国产精品久久二区 | 麻豆传媒一区二区 | 一区二区激情 | 国产中文字幕在线观看 | 久久久综合香蕉尹人综合网 | 天天搞天天干天天色 | 中文字幕久久精品 | 天天综合导航 | 成人一区二区三区在线 | 日韩免费一区 | 日韩视频在线不卡 | 亚洲精品视频免费在线 | 国产在线黄 | 蜜臀av性久久久久蜜臀aⅴ流畅 | av在线成人| 亚洲国产片| 久久精品9 | 日韩h在线观看 | 人人草在线视频 | 在线观看视频中文字幕 | 国产一级大片在线观看 | 91麻豆精品国产91久久久无需广告 | 午夜精品av| 久草在线免费资源站 | 在线观看av国产 | 国产精品久久久久久久午夜 | 国产精品一区二区在线观看 | 日韩毛片在线播放 | 婷婷色亚洲| 九九久久久久99精品 | 国产一区国产二区在线观看 | 九九九九精品九九九九 | 国产一及片 | 亚洲精选99| 五月婷婷欧美 | 国产美女网站视频 | 久久国产精品影片 | 婷婷色在线 | 91天堂在线观看 | 少妇bbb| 夜夜操狠狠干 | a久久免费视频 | 国产一级片网站 | 亚洲精品视频在线观看视频 | 国产精品国产亚洲精品看不卡 | 国产精品99蜜臀久久不卡二区 | 五月天综合网站 | 在线欧美小视频 | 夜夜躁狠狠躁 | 亚洲九九精品 | 国产成人精品久久亚洲高清不卡 | 国产在线p | 成人a级免费视频 | 日韩av影片在线观看 | 成+人+色综合 | 天堂av免费在线 | 人人爱人人做人人爽 | 亚洲精品国 | 久久久久亚洲精品成人网小说 | 国产综合精品一区二区三区 | 久久视频这里只有精品 | 九九在线视频 | 国产专区欧美专区 | 一级片在线 | 蜜臀av麻豆| 天天操天天射天天 | 91视频 - x99av | 久久国产精品免费视频 | 特黄特色特刺激视频免费播放 | 日韩经典一区二区三区 | 亚洲精品在 | 综合久久久久久久 | 国内免费久久久久久久久久久 | 亚洲欧美国产精品18p | 久久精品香蕉视频 | 国产一二区在线观看 | 久久精品艹 | 成人国产一区 | 91在线免费看片 | 国产精品99免视看9 国产精品毛片一区视频 | 蜜桃视频日本 | 最新国产福利 | 国产精品美女久久久久久免费 | 久草影视在线 | 成年人国产精品 | 人人舔人人舔 | 日韩最新av | www日韩精品 | 日韩电影中文,亚洲精品乱码 | 美女网站色在线观看 | 成 人 a v天堂 | 国产91在线观看 | 国产成人av一区二区三区在线观看 | 国产黄在线观看 | 狠狠色丁香婷婷综合久久片 | 日韩精品影视 | 中文字幕免费高清在线 | av先锋中文字幕 | 久久爽久久爽久久av东京爽 | 波多野结衣在线中文字幕 | 日韩一级电影在线观看 | 亚洲国产精品人久久电影 | 黄色影院在线免费观看 | 国产日韩视频在线播放 | 国产福利在线免费观看 | 91麻豆精品国产91久久久使用方法 | 91精品国自产在线 | 在线国产一区二区 | 国产亚洲在线 | 免费观看的av | 国产专区视频 | 久久综合毛片 | 久久久网页 | 不卡的av电影在线观看 | 国产成人精品综合久久久久99 | 黄色三级免费观看 | 亚洲精品在线网站 | 久久视频免费看 | 日韩精品综合在线 | 天天曰| 一区二区三区日韩在线观看 | 综合色婷婷 | 欧美一级黄色视屏 | 欧美久久久一区二区三区 | 在线激情av电影 | 成人啊 v | 99久久精品国产亚洲 | 亚洲作爱视频 | 色综合久久久久久久久五月 | 国产69精品久久久久99尤 | 性色av香蕉一区二区 | 国产精品99久久免费观看 | 欧美精品色| 综合久久久久久久 | 亚洲精品在线观看不卡 | 亚洲开心色 | 日韩精品久久一区二区三区 | 色91在线视频| 91中文字幕网 | av无限看| 亚洲丝袜一区二区 | 精品日韩在线一区 | 高清不卡毛片 | 亚洲涩涩网站 | 中文一二区 | 亚洲天堂社区 | 五月婷在线视频 | 欧美日韩午夜 | 狠狠躁夜夜躁人人爽视频 | 91高清视频在线 | 国产精品一区二区 91 | 高清日韩一区二区 | 国产一区二区三区 在线 | 97精品国产91久久久久久久 | 成人黄色av免费在线观看 | 在线中文字幕播放 | 亚洲成人精品 | 九九久久影视 | 国产精品福利午夜在线观看 | 成人福利在线观看 | 久热av | 激情网五月婷婷 | 丁香花中文在线免费观看 | 国产在线美女 | 麻豆影视网 | 久久精品人 | 国产精品网在线观看 | 国产1区2区 | 4438全国亚洲精品在线观看视频 | 久久精品国产亚洲精品2020 | 久久国产精品影片 | 久久激情五月婷婷 | 亚洲免费精彩视频 | 黄在线免费看 | 亚洲欧美日韩在线一区二区 | 中文字幕一区二区三区四区视频 | 国产在线观看中文字幕 | 免费成人在线视频网站 | 玖玖在线资源 | 国产69久久久欧美一级 | 人人舔人人插 | 日韩综合一区二区三区 | 日韩欧美一区二区在线播放 | 九色激情网 | 超碰在线观看97 | 国产午夜精品理论片在线 | 一区二区三区四区五区六区 | 国产91精品一区二区麻豆网站 | 在线观看日韩一区 | 国产精品久久久久久欧美 | 狠狠色婷婷丁香六月 | 91久久丝袜国产露脸动漫 | 天天草天天爽 | 亚洲激情p | 中文字幕高清在线播放 | 波多野结衣一区 | 又长又大又黑又粗欧美 | 国产一区久久久 | 免费国产亚洲视频 | 亚洲三级网站 | 久久亚洲热 | 一区二区视频在线免费观看 | 男女拍拍免费视频 | 天天射天天干天天插 | 99久久99久久免费精品蜜臀 | 色婷婷六月天 | 日韩午夜小视频 | 91视视频在线直接观看在线看网页在线看 | 久久亚洲电影 | 国产理论片在线观看 | 亚洲精品视频免费观看 | 中文字幕av在线播放 | 色综合天天狠天天透天天伊人 | 夜夜爱av | 久久夜色精品国产欧美乱 | 91亚洲夫妻 | 69久久久| 一区二区视 | 精品中文字幕在线观看 | 国产黄色精品在线观看 | 日韩欧美精品一区二区三区经典 | 欧美一级片免费 | 色悠悠久久综合 | 91av在线播放 | 日日操日日 | 亚洲综合色视频在线观看 | 国产精品黄色 | 五月激情五月激情 | 欧美日韩调教 | 久久久久久久久久福利 | 激情久久影院 | 久久久久一区二区三区 | 欧美视频在线二区 | 天堂av免费观看 | 波多野结衣一区 | 国产成人精品一区一区一区 | 日韩a在线观看 | 国产精品久久久久久久久久免费看 | 碰超在线| 成人黄色免费观看 | 久久理论视频 | 色综合色综合色综合 | 久久99亚洲网美利坚合众国 | 日批网站免费观看 | 最新av在线免费观看 | 91在线入口| 视频91在线| 国产成人一区二区三区在线观看 | 国产香蕉在线 | 久久国产三级 | 久操97| 欧美性护士 | 91亚洲精| 国产视频精品久久 | 国产三级国产精品国产专区50 | 亚洲一区 影院 | 韩国精品在线观看 | av网址最新 | 欧美大片www| 久久久影院一区二区三区 | 国产黄色视| 久草在线中文888 | 欧美男男tv网站 | 免费在线黄网 | 亚洲综合色网站 | 白丝av在线 | 亚洲精品www久久久 www国产精品com | 狠狠久久综合 | 日本三级久久久 | 日日爽日日操 | 亚洲一区在线看 | 中文字幕日韩在线播放 | 国产精品99久久免费黑人 | av免费电影在线观看 | 在线观看黄网站 | 欧美日韩电影在线播放 | 国产手机在线精品 | 免费在线观看的av网站 | 国产欧美在线一区二区三区 | 色婷婷激情| 欧美日韩伦理一区 | 欧美性生活大片 | 五月婷婷亚洲 | 波多野结衣日韩 | 人人狠狠综合久久亚洲婷 | 中文在线天堂资源 | 国产做aⅴ在线视频播放 | 狠狠色狠狠综合久久 | 色综合亚洲精品激情狠狠 | 午夜视频亚洲 | 日韩黄色网络 | 国产黄色片免费在线观看 | 日本中文字幕在线免费观看 | 国产精品99久久久久久人免费 | 国产69久久| 在线观看91久久久久久 | 91亚洲欧美| 亚洲日日日 | 亚洲国产日韩欧美在线 | 99在线观看免费视频精品观看 | 久久精品一区二区三区国产主播 | 久久视频免费在线观看 | 亚洲闷骚少妇在线观看网站 | 国内精品久久久久影院优 | 日日干激情五月 | 久久久久免费精品国产小说色大师 | 中文字幕精品一区久久久久 | 狠狠色噜噜狠狠狠狠2021天天 | 精品一二三区视频 | 亚洲精品视频在线观看免费视频 | 精品国产一区二区三区日日嗨 | 亚洲精品国产成人av在线 | 亚洲女同videos | 精品一区二区三区在线播放 | 国产美女精品视频 | 国产一线天在线观看 | 五月婷婷狠狠 | 久久综合视频网 | 丁香婷婷色综合亚洲电影 | 日韩资源视频 | 97视频一区| 天天操天天干天天玩 | 久久新| 国产九九九精品视频 | www五月天婷婷 | 中文字幕精品一区久久久久 | 久久国产一区二区三区 | 免费色视频网站 | 欧美极品xxx | 国产成人精品综合久久久久99 | 天天天插| 久久精品这里都是精品 | 在线观看国产高清视频 | 国产精品手机播放 | 国产精品久久久久久电影 | 日本中文字幕在线视频 | 国产网站在线免费观看 | 人人插人人玩 | 国产精品一区二区果冻传媒 | 国产午夜三级一区二区三 | 在线视频日韩一区 | 国际精品久久久 | 国产精品国产三级在线专区 | 丁香婷婷基地 | 天天干天天天天 | 日本韩国在线不卡 | 欧美日韩免费在线观看视频 | 日韩黄色影院 | 99九九视频| 99久久精品日本一区二区免费 | 99久久精品国 | 国产精久久久久久妇女av | 国产精品一码二码三码在线 | 精油按摩av | 免费看黄在线看 | 中文字幕第一页在线 | 久久精品亚洲精品国产欧美 | 亚洲闷骚少妇在线观看网站 | 久久99久久99精品免视看婷婷 | 99九九热只有国产精品 | 久久成人精品电影 | 超碰在线1 | 综合激情 | www.激情五月.com| 日韩精品一区二区三区免费视频观看 | 中文字幕在线免费观看视频 | 中国黄色一级大片 | 97国产大学生情侣酒店的特点 | 国产精品av久久久久久无 | 国产成人av | 一区二区不卡视频在线观看 | 麻豆视频免费版 | 欧美在线视频一区二区 | 日日插日日干 | 日本精品视频一区二区 | 国内视频在线观看 | 免费av网址在线观看 | 亚洲电影av在线 | 草久久久久 | 曰韩精品| 激情五月开心 | 日韩av在线看| 亚洲精品国产精品国自产观看 | 在线亚洲日本 | 91成人免费视频 | 99视频精品 | 97人人模人人爽人人喊网 | 最近最新中文字幕 | 亚洲自拍偷拍色图 | www.久久久.com | se婷婷 | 久久综合综合久久综合 | 狠狠色伊人亚洲综合网站野外 | 精品国产一区二区三区日日嗨 | 日本精品视频在线 | 久久久精华网 | 国产美女黄网站免费 | 91成人破解版 | 中文字幕一区二区三 | 日韩最新av | 日韩激情中文字幕 | 天天综合中文 | 狠狠狠狠狠狠操 | 日韩国产欧美在线播放 | 中文字幕av影院 | 久久短视频 | www色,com| 99视频精品免费观看, | 日韩专区中文字幕 | 999视频精品 | 日韩在线激情 | 欧美大片aaa | 激情深爱.com| 国产女教师精品久久av | 国产主播大尺度精品福利免费 | 天天爱天天射天天干天天 | 九九天堂 | 色综合人人 | 欧美日韩一区二区三区视频 | 网站在线观看你们懂的 | 免费三级黄色片 | 91精品国产福利在线观看 | 久久久久久久久久久国产精品 | 天天插伊人 | 国产成人精品久久二区二区 | 免费观看久久久 | 国产成人亚洲在线电影 | 国产成人a亚洲精品v | 国产美女免费看 | 国产一线二线三线在线观看 | 日韩视频欧美视频 | 粉嫩av一区二区三区四区在线观看 | 中文在线www | 国产精品久久久久久久久久免费看 | 午夜精品一区二区三区在线视频 | 日产av在线播放 | 尤物一区二区三区 | 一区二区三区在线观看免费视频 | 欧美国产高清 | www夜夜操com| 日韩精品一区二区在线观看视频 | 四季av综合网站 | 色狠狠婷婷 | 久99久久 | 久久伊人免费视频 | 日韩91av | 午夜精品视频一区二区三区在线看 | 亚洲 在线 | 日韩大陆欧美高清视频区 | 亚洲永久精品在线 | 91在线视频 | 欧美性高跟鞋xxxxhd | av在线短片 | 午夜久久电影网 | 国产福利91精品一区二区三区 | 91丨九色丨蝌蚪丨对白 | 日日夜夜精品免费视频 | 久久 在线| 在线视频你懂 | 亚洲欧美日韩中文在线 | 热久久这里只有精品 | 国产精品1区2区3区 久久免费视频7 | 免费一级片观看 | 国产破处在线播放 | 国产精品com | 欧美一区二区三区在线看 | 久草av在线播放 | 亚洲va男人天堂 | 在线观看视频你懂得 | 亚洲精品国产综合99久久夜夜嗨 | 性色av免费观看 | 国产高h视频 | 91麻豆精品国产91久久久久 | 免费成人在线电影 | 亚洲视频专区在线 | 国产综合精品久久 | 色中色亚洲| 欧美另类xxxxx | 亚洲激色 | 亚洲视频一级 | 久久国产精品网站 | 日本高清免费中文字幕 | 精品99999| 美女视频黄在线观看 | 国产精品久久久久永久免费看 | 亚洲欧美成人综合 | 成人午夜精品 | 国产视频一区二区三区在线 | 国产成人精品女人久久久 | 怡红院av久久久久久久 | 激情丁香在线 | 日韩一级电影在线观看 | 国产精品黄色在线观看 | 99久久婷婷国产综合亚洲 | 亚洲精品视频网址 | 国内精品久久久久久中文字幕 | 一级免费观看 | 国产色小视频 | 狠狠地操| 日韩免费 | 国产精品欧美久久久久三级 | 日韩精品一区二区在线观看 | 激情导航 | 久久综合9988久久爱 | 国产精品久久久久久久久久久不卡 | 国产成人久久久77777 | 国产涩涩网站 | 久久久久久久久久久高潮一区二区 | 日韩免费电影一区二区三区 | 国产黄色片免费 | 亚洲成人精品 | 成人av直播 | 99精品福利视频 | 免费h在线观看 | 青草视频网| 一区二区亚洲精品 | 超碰人人超碰 | 日韩中文三级 | 国产精品一区二区麻豆 | 午夜国产福利在线观看 | 俺要去色综合狠狠 | 欧美日产在线观看 | 久久99精品久久久久久三级 | 高清av网| 亚洲美女精品区人人人人 | 91精品推荐| 久久午夜电影院 | 五月激情丁香婷婷 | 亚洲成人精品av | 久久精品国产亚洲 | 亚洲 中文 欧美 日韩vr 在线 | 亚洲专区中文字幕 | 日韩最新在线视频 | 在线看片一区 | 亚洲精品视频网 | 亚洲色图激情文学 | 久章草在线观看 | 久久超| 久久综合亚洲鲁鲁五月久久 | 欧美成人一区二区 | 99久久婷婷国产综合亚洲 | 91午夜精品 | 欧美福利视频 | 91视频免费网址 | 97精品国产97久久久久久久久久久久 | 国产麻豆传媒 | 久久久精品 一区二区三区 国产99视频在线观看 | 亚洲免费精品视频 | 麻豆国产精品永久免费视频 | 婷婷综合在线 | 亚洲日韩中文字幕 | 国产91精品在线观看 | 久久久精品在线观看 | 亚洲区视频在线观看 | 欧美久久久久久久久久 | 亚洲高清免费在线 | 狠狠色丁香九九婷婷综合五月 | 四虎永久视频 | 亚洲精品66| 中文字幕在线免费97 | 国产精品美女久久久久久免费 | 高清一区二区三区 | 中文av一区二区 | 色狠狠操 | 97偷拍视频| 成人av一区二区在线观看 | 国产在线观看91 | 久久综合久久综合这里只有精品 | 久久成人国产精品免费软件 | 亚洲人精品午夜 | 免费在线观看av网址 | 日韩免费电影网 | av字幕在线 | 91麻豆精品国产91久久久无需广告 | 成人av一级片 | 黄网在线免费观看 | 中文免费在线观看 | 久久伊人八月婷婷综合激情 | 成人a在线观看高清电影 | 国产高清专区 | 日本三级香港三级人妇99 | 国产999精品久久久久久 | 久久激情五月激情 | 亚洲三级在线免费观看 | 成人黄大片| 日韩手机在线观看 | 国产二区视频在线观看 | 蜜臀av麻豆 | 日韩欧美一区二区在线观看 | 韩国精品视频在线观看 | 最近中文字幕免费av | 97色婷婷成人综合在线观看 | 99热精品免费观看 | 在线免费成人 | 日本三级吹潮在线 | 久久精品www人人爽人人 | 久久视频二区 | 五月激情六月丁香 | 91精品国产电影 | 四虎最新域名 | 五月天综合激情网 | www.久久com| 91看片麻豆| 日韩电影一区二区三区 | 成人免费亚洲 | 涩涩在线 | 国产精品h在线观看 | 国产精品女 | 日本不卡一区二区三区在线观看 | 久久亚洲综合国产精品99麻豆的功能介绍 | 国产视频亚洲精品 | 91人人插| 成人午夜精品福利免费 | 免费在线观看成人av | 久热免费在线观看 | 欧美在线观看禁18 | 亚洲欧美乱综合图片区小说区 | 91精品啪在线观看国产 | 黄色国产在线 | 五月婷婷中文网 | 久久在线影院 | 91精品免费看 | 中文电影网| 免费视频资源 | 日韩国产精品久久久久久亚洲 | 九九精品久久久 | 色综合久久88色综合天天免费 | 国产精品国产三级国产专区53 | 亚洲一级国产 | 亚洲有 在线 | 亚洲一区二区黄色 | 精品在线一区二区三区 | www.com久久| www.色国产 | 久久久久久国产精品 | 免费在线中文字幕 | 天天操天天色综合 | 天天射天天爱天天干 | 亚洲欧洲精品一区二区精品久久久 | 久久激情视频 久久 | 国产精品麻豆免费版 | 精品无人国产偷自产在线 | 91在线网站| 日韩视频专区 | www视频在线观看 | 欧美久久久影院 | 欧美色婷 | 狠狠色丁香久久婷婷综合_中 | 婷婷丁香av | 欧美激情视频三区 | 亚洲精品免费在线播放 | 99免费视频| 91看片看淫黄大片 | 精品久久久久久一区二区里番 | 亚洲高清视频在线播放 | 色com| 九九久久电影 | 久久黄色小说视频 | 国产在线观看h | 日韩免费视频 | 久久免费视频3 | 免费黄色网址网站 | 免费美女久久99 | 手机看片1042 | 日日夜夜艹 | 在线免费黄色片 | 免费福利片2019潦草影视午夜 | 欧美另类xxxxx| 91福利影院在线观看 | 99在线免费视频观看 | 久久手机在线视频 | 五月婷在线播放 | 欧美国产91| 久久久免费精品视频 | 人人爱人人射 | 国产精品v欧美精品 | 中文字幕在线不卡国产视频 |