串口通訊中的DCB結構
typedef struct _DCB {// dcb
DWORD DCBlength; // sizeof(DCB)
DORD BaudRate; // current baud rate 指定當前的波特率
DWORD fBinary: 1; // binary mode, no EOF check 指定是否允許二進制模式WIN95中須為TRUE
DWORD fParity: 1; // enable parity checking 指定奇偶校驗是否允許
DWORD fOutxCtsFlow:1; // CTS output flow control 指定CTS是否用于檢測發(fā)送控制。當為TRUE是CTS為OFF,發(fā)送將被掛起。
DWORD fOutxDsrFlow:1; // DSR output flow control 指定CTS是否用于檢測發(fā)送控制。當為TRUE是CTS為OFF,發(fā)送將被掛起。
DWORD fDtrControl:2; // DTR flow control type
DTR_CONTROL_DISABLE 值將DTR置為OFF,DTR_CONTROL_ENABLE值將DTR置為ON,
DTR_CONTROL_HANDSHAKE 允許DTR"握手",
DWORD fDsrSensitivity:1;// DSR sensitivity 當該值為TRUE時DSR為OFF時接收的字節(jié)被忽略
DWORD fTXContinueOnXoff:1; // XOFF continues Tx
指定當接收緩沖區(qū)已滿,并且驅(qū)動程序已經(jīng)發(fā)送出XoffChar字符時發(fā)送是否停止。
TRUE時,在接收緩沖區(qū)接收到緩沖區(qū)已滿的字節(jié)XoffLim且驅(qū)動程序已經(jīng)發(fā)送出XoffChar字 符中止接收字節(jié)之后,發(fā)送繼續(xù)進行。
FALSE時,在接收緩沖區(qū)接收到代表緩沖區(qū)已空的字節(jié)XonChar且驅(qū)動程序已經(jīng)發(fā)送出恢復發(fā)送的XonChar之后,發(fā)送繼續(xù)進行。
DWORD fOutX: 1; // XON/XOFF out flow control TRUE時,接收到XoffChar之后便停止發(fā)送接收到XonChar之后將重新開始
DWORD fInX: 1; // XON/XOFF in flow control
TRUE時,接收緩沖區(qū)接收到代表緩沖區(qū)滿的XoffLim之后,XoffChar發(fā)送出去接收緩沖區(qū)接收到代表緩沖區(qū)空的XonLim之后,XonChar發(fā)送出去
DWORD fErrorChar: 1; // enable error replacement
該值為TRUE且fParity為TRUE時,用ErrorChar 成員指定的字符代替奇偶校驗錯誤的接收字符
DWORD fNull: 1; // enable null stripping TRUE時,接收時去掉空(0值)字節(jié)
DWORD fRtsControl:2; // RTS flow control
DWORD fAbortOnError:1; // abort reads/writes on error TRUE時,有錯誤發(fā)生時中止讀和寫操作RTS_CONTROL_DISABLE時,RTS置為OFFRTS_CONTROL_ENABLE時, RTS置為ON
RTS_CONTROL_HANDSHAKE時,當接收緩沖區(qū)小于半滿時RTS為ON當接收緩沖區(qū)超過四分之三滿時RTS為OFF
RTS_CONTROL_TOGGLE時,當接收緩沖區(qū)仍有剩余字節(jié)時RTS為ON ,否則缺省為OFF
DWORD fDummy2:17; // reserved 未使用
WORD wReserved; // not currently used 未使用,必須為0
WORD XonLim; // transmit XON threshold 指定在XON字符發(fā)送這前接收緩沖區(qū)中可允許的最小字節(jié)數(shù)
WORD XoffLim; // transmit XOFF threshold 指定在XOFF字符發(fā)送這前接收緩沖區(qū)中可允許的最小字節(jié)數(shù)
BYTE ByteSize; // number of bits/byte, 4-8 指定端口當前使用的數(shù)據(jù)位
BYTE Parity; // 0-4=no,odd,even,mark,space 指定端口當前使用的奇偶校驗方法,可能為:
EVENPARITY,MARKPARITY,NOPARITY,ODDPARITY BYTE
StopBits; 0,1,2 = 1, 1.5, 2 指定端口當前使用的停止位數(shù),可能為:
ONESTOPBIT,ONE5STOPBITS,TWOSTOPBITS
char XonChar; // Tx and Rx XON character 指定用于發(fā)送和接收字符XON的值
char XoffChar; // Tx and Rx XOFF character 指定用于發(fā)送和接收字符XOFF值
char ErrorChar; // error replacement character本字符用來代替接收到的奇偶校驗發(fā)生錯誤時的值
char EofChar; // end of input character 當沒有使用二進制模式時,本字符可用來指示數(shù)據(jù)的結束
char EvtChar; // received event character 當接收到此字符時,會產(chǎn)生一個事件
WORD wReserved1; // reserved; do not use 未使用
} DCB;