流星,霎那划过天际

导航

串口通讯中的DCB结构【转】

源自:http://www.cppblog.com/Lee7/archive/2008/01/16/41279.html

 

代码
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 指定DSR是否用于检测发送控制.当为TRUE是DSR为OFF,发送将被挂起
        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时接收的字节被忽略
        DWORD fTXContinueOnXoff:1// XOFF continues Tx 指定当接收缓冲区已满,并且驱动程序已经发送出XoffChar字符时发送是否停止.TRUE时,在接收缓冲区接收到缓冲区已满的字节XoffLim且驱动程序已经发送出XoffChar字符中止接收字节之后,发送继续进行。FALSE时,在接收缓冲区接收到代表缓冲区已空的字节XonChar且驱动程序已经发送出恢复发送的XonChar之后,发送继续进行。
        DWORD fOutX: 1;            // XON/XOFF out flow control TRUE时,接收到XoffChar之后便停止发送.接收到XonChar之后将重新开始
        DWORD fInX: 1;             // XON/XOFF in flow control TRUE时,接收缓冲区接收到代表缓冲区满的XoffLim之后,XoffChar发送出去.接收缓冲区接收到代表缓冲区空的XonLim之后,XonChar发送出去
        DWORD fErrorChar: 1;       // enable error replacement 该值为TRUE且fParity为TRUE时,用ErrorChar 成员指定的字符代替奇偶校验错误的接收字符
        DWORD fNull: 1;            // enable null stripping TRUE时,接收时去掉空(0值)字节
        DWORD fRtsControl:2;       // RTS flow control RTS_CONTROL_DISABLE时,RTS置为OFF RTS_CONTROL_ENABLE时, RTS置为ON RTS_CONTROL_HANDSHAKE时,当接收缓冲区小于半满时RTS为ON 当接收缓冲区超过四分之三满时RTS为OFF RTS_CONTROL_TOGGLE时,当接收缓冲区仍有剩余字节时RTS为ON ,否则缺省为OFF
        DWORD fAbortOnError:1;     // abort reads/writes on error TRUE时,有错误发生时中止读和写操作
        DWORD fDummy2:17;          // reserved 未使用
        WORD wReserved;            // not currently used 未使用,必须为0
        WORD XonLim;               // transmit XON threshold 指定在XON字符发送这前接收缓冲区中可允许的最小字节数
        WORD XoffLim;              // transmit XOFF threshold 指定在XOFF字符发送这前接收缓冲区中可允许的最小字节数
        BYTE ByteSize;             // number of bits/byte, 4-8 指定端口当前使用的数据位
        BYTE Parity;               // 0-4=no,odd,even,mark,space 指定端口当前使用的奇偶校验方法,可能为:EVENPARITY,MARKPARITY,NOPARITY,ODDPARITY
        BYTE StopBits;             // 0,1,2 = 1, 1.5, 2 指定端口当前使用的停止位数,可能为:ONESTOPBIT,ONE5STOPBITS,TWOSTOPBITS
        char XonChar;              // Tx and Rx XON character 指定用于发送和接收字符XON的值
        char XoffChar;             // Tx and Rx XOFF character 指定用于发送和接收字符XOFF值
        char ErrorChar;            // error replacement character 本字符用来代替接收到的奇偶校验发生错误时的值
        char EofChar;              // end of input character 当没有使用二进制模式时,本字符可用来指示数据的结束
        char EvtChar;              // received event character 当接收到此字符时,会产生一个事件
        WORD wReserved1;           // reserved; do not use 未使用
    } DCB; 

 

 

posted on 2009-12-25 14:24  流星,霎那划过天际  阅读(669)  评论(0编辑  收藏  举报