串口编程DCB结构体参数配置详细说明
DWORD DCBlength; DWORD BaudRate; DWORD fBinary: 1; DWORD fParity: 1; DWORD fOutxCtsFlow:1; sizeof(DCB) current baud rate指定当前的波特率 binary mode, no EOF check指定是否允许二进制模式 WIN95 中须为 TRUE enable parity checking指定奇偶校验是否允许 CTS output flow control 指定 CTS 是否用于检测发送控 制。当为 TRUE 时 CTS 为 //OFF,发送将被挂起。 (发送清楚) DSR output flow control指定CTS是否用于检测发送控 制。 (数据装备好)当为 TRUE 是 CTS 为 OFF,发送 将被挂起。 DTR flow control type //DTR_CONTROL_DISABLE值将 DTR 置为 OFF, //DTR_CONTROL_ENABLE值将 DTR 置为 ON, //DTR_CONTROL_HANDSHAKE 允许 DTR“握手 DSR sensitivity 当该值为 TRUE 时 DSR 为 OFF 时接 收的字节被忽略 指定当接 收缓 冲区已 满,并且驱动 程序 已经发 送出 XoffChar 字符时发送是否停止。 TRUE 时,在接收缓冲区接收到缓冲区已满的字节 XoffLim 且驱动程序已经发送出 XoffChar 字 符中止接 收字节之后,发送继续进行。 FALSE时, 在接收缓冲区接收到代表缓冲区已空的字节 XonChar 且驱动程序已经发送出恢复发送的 XonChar 之后,发送继续进行。 DWORD fOutxDsrFlow:1; DWORD fDtrControl:2; DWORD fDsrSensitivity:1; DWORD fTXContinueOnXoff:1;XOFF continues Tx DWORD fOutX: 1;XON/XOFF out flow control //TRUE 时,接收到 XoffChar 之后便停止发送 //FALSE时,接收到 XonChar 之后将重新开始 // XON/XOFF in flow control TRUE 时,接收缓冲区接收到代表缓冲区满的 XoffLim 之后,XoffChar 发送出去 接收缓冲区接收到代表缓冲区空的XonLim 之后, XonChar 发送出去 // enable error replacement 该值为 TRUE 且 fParity 为 TRUE 时,用 ErrorChar 成 员指定的字符代替奇偶校验错误的接收字符 // enable null strippingTRUE 时,接收时去掉空(0 值)字节 RTS flow control abort reads/writes on errorTRUE 时,有错误发生时 中止读和写操作 DWORD fInX: 1; DWORD fErrorChar: 1; DWORD fNull: 1; DWORD fRtsControl:2; DWORD fAbortOnError:1; RTS_CONTROL_DISABLE时,RTS 置为 OFF RTS_CONTROL_ENABLE时, RTS 置为 ON RTS_CONTROL_HANDSHAKE时, 当接收缓冲区小于半满时RTS 为 ON 当接收缓冲区超过四分之三满时RTS 为 OFF RTS_CONTROL_TOGGLE时, 当接收缓冲区仍有剩余字节时RTS 为 ON ,否则缺省为 OFF DWORD fDummy2:17; WORD wReserved; WORD XonLim; reserved未使用 not currently used未使用,必须为 0 // transmit XON threshold 指定在 XON 字符发送这前接收缓冲区中可允许的最小 字节数 // transmit XOFF threshold 指定在XOFF字符发送这前接收缓冲区中可允许的最小 字节数 number of bits/byte, 4-8指定端口当前使用的数据 位 // 0-4=no,odd,even,mark,space指定端口当前使用的 奇偶校验方法,可能为: EVENPARITY ,MARKPARITY ,NOPARITY ,ODDPARITY 0,1,2 = 1, 1.5, 2指定端口当前使用的停止位数,可 能为: ONESTOPBIT,ONE5STOPBITS,TWOSTOPBITS // Tx and Rx XON character指定用于发送和接收 字符 XON 的值 Tx and Rx XOFF character指定用于发送和接收字 符 XOFF 值 // error replacement character 本字符用来代替接收到 的奇偶校验发生错误时的值 // end of character当没有使用二进制模式时,本 字符可用来指示数据的结束 // received event character当接收到此字符时,会产 生一个事件 // reserved; do not use 未使用 WORD XoffLim; BYTE ByteSize; BYTE Parity; BYTE StopBits; char XonChar; char XoffChar; char ErrorChar; char EofChar; char EvtChar; WORD wReserved1; 在这个结构中, 共有 28 个变量, 我把这些成员归类为几种. 1. 串口的基本设置 1) DWORD BaudRate;波特率设置。 2) BYTE ByteSize;数据位设置。 3) DWORD fParity: 1;TRUE 时, 支持奇偶检验。 4) BYTE Parity;奇偶检验位的设置 5) BYTE StopBits;停止位的设置 2. 流控制(Flow Control) 的设置 流控制分为硬件流控制和软件流控制。 而硬件流控制又分为 RTS/CTS 和 DTR/DSR 两种。而软件流 控制, 则是 Xon/Xoff。 DTR/DSR 硬件流控制: 1) DWORD fOutxDsrFlow:1;TRUE 时,支持 DSR 流控制。 当 DSR 为 OFF 时,停止发送。 2) DWORD fDtrControl:2;DTR 设置。 (置高/置低.) 3) DWORD fDsrSensitivity:1;TRUE 时,当 DSR 为 OFF,则接收端忽略所有字符。 RTS/CTS 硬件流控制: 4) DWORD fOutxCtsFlow:1;TRUE 时,支持 CTS 流控制。 当 CTS 为 OFF 时,停止发送。 5) DWORD fRtsControl:2;RTS 设置。 (置高/置低.) Xon/Xoff 软件流控制: 6) DWORD fOutX: 1;发送端支持 Xon/Xoff。 7) DWORD fI