DCB結構

 串口通訊中的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 指定是否允許二進制模式WIN95中須爲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

  DWORD fAbortOnError:1; // abort reads/writes on error TRUE時,有錯誤發生時中止讀和寫操作

  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; // 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;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章