2.COMMTIMEOUTS結構 超時設置
COMMTIMEOUTS:
typedef struct _COMMTIMEOUTS {
DWORD ReadIntervalTimeout; //讀間隔超時
DWORD ReadTotalTimeoutMultiplier;// 讀時間係數
DWORD ReadTotalTimeoutConstant; // 讀時間常量
DWORD WriteTotalTimeoutMultiplier; // 寫時間係數
DWORD WriteTotalTimeoutConstant; // 寫時間常量
} COMMTIMEOUTS,*LPCOMMTIMEOUTS;
ReadIntervalTimeout:
ReadTotalTimeoutMultiplier:
ReadTotalTimeoutConstant:
WriteTotalTimeoutMultiplier:
WriteTotalTimeoutConstant:
一般都會做以下設置:
TimeOuts.ReadIntervalTimeout=
// 把間隔超時設為最大,
TimeOuts.
//讀時間係數
TimeOuts.
//讀時間常量
TimeOuts.
//總超時=時間係數*要求讀/寫的字符數+時間常量
TimeOuts.
//設置寫超時以指定WriteComm成員函數中的
3.DCB結構
DCB (Device Control Block) 設備控制塊
在打開通訊串口後,我們需要對串口進行初始化,比如,波特率、
typedef struct _DCB {// dcb
DWORD DCBlength; // sizeof(DCB)
DWORD BaudRate; // current baud rate
指定當前的波特率
DWORD fBinary: 1; // binary mode, no EOF check
指定是否允許二進制模式,
WINDOWS 95中必須為TRUE
DWORD fParity: 1; // enable parity checking
指定奇偶校驗是否允許
DWORD fOutxCtsFlow:1; // CTS output flow control
指定CTS是否用於檢測發送控制。
當為TRUE是CTS為OFF,發送將被掛起。
DWORD fOutxDsrFlow:1; // DSR output flow control
指定CTS是否用於檢測發送控制。
當為TRUE是CTS為OFF,發送將被掛起。
DWORD fDtrControl:2; // DTR flow control type
DTR_CONTROL_DISABLE值將DTR置為OFF, DTR_CONTROL_ENABLE值將DTR置為ON, DTR_CONTROL_HANDSHAKE允許DTR"握手"
DWORD fTXContinueOnXoff:1; // XOFF continues Tx
指定當接收緩衝區已滿,並且驅動程序已經發
送出XoffChar字符時發送是否停止。
TRUE時,
FALSE時,
DWORD fOutX: 1; // XON/XOFF out flow c
"COMMTIMEOUTS結構 超時設置"
- 串口通讯编程一日通3(COMMTIMEOUTS DCB整理) - September - CSDN博客 (在「Google 網頁註解」中檢視)
沒有留言:
張貼留言