Defines the control setting for a serial communications device.
typedef struct _DCB {
DWORD DCBlength;
DWORD BaudRate;
DWORD fBinary: 1;
DWORD fParity: 1;
DWORD fOutxCtsFlow:1;
DWORD fOutxDsrFlow:1;
DWORD fDtrControl:2;
DWORD fDsrSensitivity:1;
DWORD fTXContinueOnXoff:1;
DWORD fOutX: 1;
DWORD fInX: 1;
DWORD fErrorChar: 1;
DWORD fNull: 1;
DWORD fRtsControl:2;
DWORD fAbortOnError:1;
DWORD fDummy2:17;
WORD wReserved;
WORD XonLim;
WORD XoffLim;
BYTE ByteSize;
BYTE Parity;
BYTE StopBits;
char XonChar;
char XoffChar;
char ErrorChar;
char EofChar;
char EvtChar;
WORD wReserved1;
} DCB;
Members
DCBlength
- Length, in bytes, of the DCB structure.
BaudRate
- Baud rate at which the communications device operates. This member can be an actual baud rate value, or one of the following indexes:
CBR_110
CBR_19200
CBR_300
CBR_38400
CBR_600
CBR_56000
CBR_1200
CBR_57600
CBR_2400
CBR_115200
CBR_4800
CBR_128000
CBR_9600
CBR_256000
CBR_14400
fBinary
- Indicates whether binary mode is enabled. INtime does not support nonbinary mode transfers, so this member must be TRUE.
fParity
- Indicates whether parity checking is enabled. If this member is TRUE, parity checking is performed and errors are reported.
fOutxCtsFlow
- Indicates whether the CTS (clear-to-send) signal is monitored for output flow control. If this member is TRUE and CTS is turned off, output is suspended until CTS is sent again.
fOutxDsrFlow
- Indicates whether the DSR (data-set-ready) signal is monitored for output flow control. If this member is TRUE and DSR is turned off, output is suspended until DSR is sent again.
fDtrControl
- DTR (data-terminal-ready) flow control. This member can be one of the following values:
Value |
Description |
DTR_CONTROL_DISABLE |
Disables the DTR line when the device is opened and leaves it disabled. |
DTR_CONTROL_ENABLE |
Enables the DTR line when the device is opened and leaves it on. |
DTR_CONTROL_HANDSHAKE |
Enables DTR handshaking. If handshaking is enabled, it is an error for the application to adjust the line by using EscapeCommFunction. |
fDsrSensitivity
- Indicates whether the communications driver is sensitive to the state of the DSR signal. If this member is TRUE, the driver ignores any bytes received, unless the DSR modem input line is high.
fTXContinueOnXoff
- Indicates whether transmission stops when the input buffer is full and the driver has transmitted the
XoffChar
character. If this member is TRUE, transmission continues after the input buffer has come within XoffLim
bytes of being full and the driver has transmitted the XoffChar
character to stop receiving bytes. If this member is FALSE, transmission does not continue until the input buffer is within XonLim
bytes of being empty and the driver has transmitted the XonChar
character to resume reception.
fOutX
- Indicates whether XON/XOFF flow control is used during transmission. If this member is TRUE, transmission stops when the
XoffChar
character is received and starts again when the XonChar
character is received.
fInX
- Indicates whether XON/XOFF flow control is used during reception. If this member is TRUE, the
XoffChar
character is sent when the input buffer comes within XoffLim
bytes of being full, and the XonChar
character is sent when the input buffer comes within XonLim
bytes of being empty.
fErrorChar
- Indicates whether bytes received with parity errors are replaced with the character specified by the
ErrorChar
member. If this member is TRUE and the fParity
member is TRUE, replacement occurs.
fNull
- Indicates whether null bytes are discarded. If this member is TRUE, null bytes are discarded when received.
fRtsControl
- RTS (request-to-send) flow control. This member can be one of the following values:
Value |
Description |
RTS_CONTROL_DISABLE |
Disables the RTS line when the device is opened and leaves it disabled. |
RTS_CONTROL_ENABLE |
Enables the RTS line when the device is opened and leaves it on. |
RTS_CONTROL_HANDSHAKE |
Enables RTS handshaking. The driver raises the RTS line when the "type-ahead" (input) buffer is less than one-half full and lowers the RTS line when the buffer is more than three-quarters full. If handshaking is enabled, it is an error for the application to adjust the line by using the EscapeCommFunction function. |
RTS_CONTROL_TOGGLE |
(Unsupported): Specifies that the RTS line will be high if bytes are available for transmission. After all buffered bytes have been sent, the RTS line will be low. |
fAbortOnError
- Indicates whether read and write operations are terminated if an error occurs. If this member is TRUE, the driver terminates all read and write operations with an error status if an error occurs. The driver will not accept any further communications operations until the application has acknowledged the error by calling ClearCommError.
fDummy2
- Reserved; do not use.
wReserved
- Reserved; must be zero.
XonLim
- Minimum number of bytes allowed in the input buffer before flow control is activated to inhibit the sender. Note that the sender may transmit characters after the flow control signal has been activated, so this value should never be zero. This assumes that either XON/XOFF, RTS, or DTR input flow control is specified in
fInX
, fRtsControl
, or fDtrControl
.
XoffLim
- Maximum number of bytes allowed in the input buffer before flow control is activated to allow transmission by the sender. This assumes that either XON/XOFF, RTS, or DTR input flow control is specified in
fInX
, fRtsControl
, or fDtrControl
. The maximum number of bytes allowed is calculated by subtracting this value from the size, in bytes, of the input buffer.
ByteSize
- Number of bits in the bytes transmitted and received.
Parity
- Parity scheme to be used. This member can be one of the following values:
Value |
Description |
EVENPARITY |
Even |
MARKPARITY |
Mark |
NOPARITY |
No parity |
ODDPARITY |
Odd |
SPACEPARITY |
Space |
StopBits
- Number of stop bits to be used. This member can be one of the following values:
Value |
Description |
ONESTOPBIT |
1 stop bit |
ONE5STOPBITS |
1.5 stop bits |
TWOSTOPBITS |
2 stop bits |
XonChar
- Value of the XON character for both transmission and reception.
XoffChar
- Value of the XOFF character for both transmission and reception.
ErrorChar
- Value of the character used to replace bytes received with a parity error.
EofChar
- Value of the character used to signal the end of data.
EvtChar
- Value of the character used to signal an event.
wReserved1
- Reserved; do not use.
Remarks
When a DCB structure is used to configure the 8250, the following restrictions apply to the values specified for the ByteSize and StopBits members:
- The number of data bits must be 5 to 8 bits.
- The use of 5 data bits with 2 stop bits is an invalid combination, as is 6, 7, or 8 data bits with 1.5 stop bits.
Requirements
Versions |
Defined in |
Include |
Link to |
INtime 3.1 |
intime/rt/include/comm.h |
comm.h |
comm.lib |
See Also