Struktur DCB (winbase.h)

Menentukan pengaturan kontrol untuk perangkat komunikasi serial.

Sintaks

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, *LPDCB;

Anggota

DCBlength

Panjang struktur, dalam byte. Penelepon harus mengatur anggota ini ke sizeof(DCB).

BaudRate

Tingkat baud tempat perangkat komunikasi beroperasi. Anggota ini bisa menjadi nilai tingkat baud aktual, atau salah satu indeks berikut.

Nilai Makna
CBR_110
110
110 bps
CBR_300
300
300 bps
CBR_600
600
600 bps
CBR_1200
1200
1200 bps
CBR_2400
2400
2400 bps
CBR_4800
4800
4800 bps
CBR_9600
9600
9600 bps
CBR_14400
14400
14400 bps
CBR_19200
19200
19200 bps
CBR_38400
38400
38400 bps
CBR_57600
57600
57600 bps
CBR_115200
115200
115200 bps
CBR_128000
128000
128000 bps
CBR_256000
256000
256000 bps

fBinary

Jika anggota ini TRUE, mode biner diaktifkan. Windows tidak mendukung transfer mode nonbiner, sehingga anggota ini harus TRUE.

fParity

Jika anggota ini TRUE, pemeriksaan paritas dilakukan dan kesalahan dilaporkan.

fOutxCtsFlow

Jika anggota ini TRUE, sinyal CTS (clear-to-send) dipantau untuk kontrol aliran output. Jika anggota ini TRUE dan CTS dimatikan, output ditangguhkan hingga CTS dikirim lagi.

fOutxDsrFlow

Jika anggota ini TRUE, sinyal DSR (data-set-ready) dipantau untuk kontrol aliran output. Jika anggota ini TRUE dan DSR dimatikan, output ditangguhkan hingga DSR dikirim lagi.

fDtrControl

Kontrol aliran DTR (siap terminal data). Anggota ini bisa menjadi salah satu nilai berikut.

Nilai Makna
DTR_CONTROL_DISABLE
0x00
Menonaktifkan baris DTR saat perangkat dibuka dan membiarkannya dinonaktifkan.
DTR_CONTROL_ENABLE
0x01
Mengaktifkan baris DTR saat perangkat dibuka dan membiarkannya menyala.
DTR_CONTROL_HANDSHAKE
0x02
Mengaktifkan jabat tangan DTR. Jika jabat tangan diaktifkan, itu adalah kesalahan bagi aplikasi untuk menyesuaikan baris dengan menggunakan fungsi EscapeCommFunction .

fDsrSensitivity

Jika anggota ini TRUE, driver komunikasi sensitif terhadap status sinyal DSR. Driver mengabaikan byte apa pun yang diterima, kecuali baris input modem DSR tinggi.

fTXContinueOnXoff

Jika anggota ini TRUE, transmisi berlanjut setelah buffer input berada dalam byte XoffLim penuh dan driver telah mengirimkan karakter XoffChar untuk berhenti menerima byte. Jika anggota ini FALSE, transmisi tidak berlanjut sampai buffer input berada dalam byte XonLim kosong dan driver telah mengirimkan karakter XonChar untuk melanjutkan penerimaan.

fOutX

Menunjukkan apakah kontrol aliran XON/XOFF digunakan selama transmisi. Jika anggota ini TRUE, transmisi berhenti ketika karakter XoffChar diterima dan dimulai lagi ketika karakter XonChar diterima.

fInX

Menunjukkan apakah kontrol alur XON/XOFF digunakan selama penerimaan. Jika anggota ini TRUE, karakter XoffChar dikirim ketika buffer input berada dalam byte XoffLim penuh, dan karakter XonChar dikirim ketika buffer input berada dalam byte XonLim yang kosong.

fErrorChar

Menunjukkan apakah byte yang diterima dengan kesalahan paritas diganti dengan karakter yang ditentukan oleh anggota ErrorChar . Jika anggota ini TRUE dan anggota fParitytrue, penggantian terjadi.

fNull

Jika anggota ini TRUE, byte null akan dibuang saat diterima.

fRtsControl

Kontrol alur RTS (request-to-send). Anggota ini bisa menjadi salah satu nilai berikut.

Nilai Makna
RTS_CONTROL_DISABLE
0x00
Menonaktifkan baris RTS saat perangkat dibuka dan membiarkannya dinonaktifkan.
RTS_CONTROL_ENABLE
0x01
Mengaktifkan baris RTS saat perangkat dibuka dan membiarkannya menyala.
RTS_CONTROL_HANDSHAKE
0x02
Mengaktifkan jabat tangan RTS. Driver menaikkan garis RTS ketika buffer "type-ahead" (input) kurang dari satu setengah penuh dan menurunkan garis RTS ketika buffer lebih dari tiga perempat penuh. Jika jabat tangan diaktifkan, itu adalah kesalahan bagi aplikasi untuk menyesuaikan baris dengan menggunakan fungsi EscapeCommFunction .
RTS_CONTROL_TOGGLE
0x03
Menentukan bahwa garis RTS akan tinggi jika byte tersedia untuk transmisi. Setelah semua byte yang di-buffer dikirim, baris RTS akan rendah.

fAbortOnError

Jika anggota ini BENAR, driver mengakhiri semua operasi baca dan tulis dengan status kesalahan jika terjadi kesalahan. Driver tidak akan menerima operasi komunikasi lebih lanjut sampai aplikasi telah mengakui kesalahan dengan memanggil fungsi ClearCommError .

fDummy2

Dipesan; jangan gunakan.

wReserved

Dipesan; harus nol.

XonLim

Jumlah minimum byte yang digunakan yang diizinkan dalam buffer input sebelum kontrol aliran diaktifkan untuk memungkinkan transmisi oleh pengirim. Ini mengasumsikan bahwa kontrol aliran input XON/XOFF, RTS, atau DTR ditentukan dalam anggota fInX, fRtsControl, atau fDtrControl .

XoffLim

Jumlah minimum byte gratis yang diizinkan dalam buffer input sebelum kontrol alur diaktifkan untuk menghambat pengirim. Perhatikan bahwa pengirim dapat mengirimkan karakter setelah sinyal kontrol aliran diaktifkan, sehingga nilai ini tidak boleh nol. Ini mengasumsikan bahwa kontrol aliran input XON/XOFF, RTS, atau DTR ditentukan dalam anggota fInX, fRtsControl, atau fDtrControl . Jumlah maksimum byte yang digunakan yang diizinkan dihitung dengan mengurangi nilai ini dari ukuran, dalam byte, dari buffer input.

ByteSize

Jumlah bit dalam byte yang ditransmisikan dan diterima.

Parity

Skema paritas yang akan digunakan. Anggota ini bisa menjadi salah satu nilai berikut.

Nilai Makna
EVENPARITY
2
Bahkan paritas.
MARKPARITY
3
Tandai paritas.
NOPARITY
0
Tidak ada paritas.
ODDPARITY
1
Paritas ganjil.
SPACEPARITY
4
Paritas ruang angkasa.

StopBits

Jumlah bit stop yang akan digunakan. Anggota ini bisa menjadi salah satu nilai berikut.

Nilai Makna
ONESTOPBIT
0
1 stop bit.
ONE5STOPBITS
1
1,5 bit berhenti.
TWOSTOPBITS
2
2 bit berhenti.

XonChar

Nilai karakter XON untuk transmisi dan penerimaan.

XoffChar

Nilai karakter XOFF untuk transmisi dan penerimaan.

ErrorChar

Nilai karakter yang digunakan untuk mengganti byte yang diterima dengan kesalahan paritas.

EofChar

Nilai karakter yang digunakan untuk memberi sinyal akhir data.

EvtChar

Nilai karakter yang digunakan untuk memberi sinyal peristiwa.

wReserved1

Dipesan; jangan gunakan.

Keterangan

Saat struktur DCB digunakan untuk mengonfigurasi 8250, pembatasan berikut berlaku untuk nilai yang ditentukan untuk anggota ByteSize dan StopBits :

  • Jumlah bit data harus 5 hingga 8 bit.
  • Penggunaan 5 bit data dengan 2 bit stop adalah kombinasi yang tidak valid, seperti 6, 7, atau 8 bit data dengan 1,5 bit stop.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP
Server minimum yang didukung Windows Server 2003
Header winbase.h (termasuk Windows.h)

Lihat juga

BuildCommDCB

ClearCommError

EscapeCommFunction

GetCommState

SetCommState