|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
DCB
The DCB structure defines the control setting for a serial communications device.
typedef struct _DCB { // dcb DWORD DCBlength; // sizeof(DCB) DWORD BaudRate; // current baud rate DWORD fBinary: 1; // binary mode, no EOF check DWORD fParity: 1; // enable parity checking DWORD fOutxCtsFlow:1; // CTS output flow control DWORD fOutxDsrFlow:1; // DSR output flow control DWORD fDtrControl:2; // DTR flow control type DWORD fDsrSensitivity:1; // DSR sensitivity
DWORD fTXContinueOnXoff:1; // XOFF continues Tx DWORD fOutX: 1; // XON/XOFF out flow control DWORD fInX: 1; // XON/XOFF in flow control DWORD fErrorChar: 1; // enable error replacement DWORD fNull: 1; // enable null stripping DWORD fRtsControl:2; // RTS flow control DWORD fAbortOnError:1; // abort reads/writes on error DWORD fDummy2:17; // reserved WORD wReserved; // not currently used
WORD XonLim; // transmit XON threshold WORD XoffLim; // transmit XOFF threshold BYTE ByteSize; // number of bits/byte, 4-8 BYTE Parity; // 0-4=no,odd,even,mark,space BYTE StopBits; // 0,1,2 = 1, 1.5, 2 char XonChar; // Tx and Rx XON character char XoffChar; // Tx and Rx XOFF character char ErrorChar; // error replacement character
char EofChar; // end of input character char EvtChar; // received event character WORD wReserved1; // reserved; do not use } DCB;
Members
DCBlength
Specifies the length, in bytes, of the DCB structure.
BaudRate
Specifies the baud rate at which the communications device operates. This member can be an actual baud rate value, or one of the following baud rate 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
Specifies whether binary mode is enabled. The Win32 API does not support nonbinary mode transfers, so this member should be TRUE. Trying to use FALSE will not work.
Under Windows 3.1, if this member is FALSE, nonbinary mode is enabled, and the character specified by the EofChar member is recognized on input and remembered as the end of data.
fParity
Specifies whether parity checking is enabled. If this member is TRUE, parity checking is performed and errors are reported.
fOutxCtsFlow
Specifies 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
Specifies 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
Specifies the DTR (data-terminal-ready) flow control. This member can be one of the following values:
Value Meaning 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 the EscapeCommFunction function.
fDsrSensitivity
Specifies 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
Specifies 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
Specifies 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
Specifies 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
Specifies 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
Specifies whether null bytes are discarded. If this member is TRUE, null bytes are discarded when received.
fRtsControl
Specifies the RTS (request-to-send) flow control. If this value is zero, the default is RTS_CONTROL_HANDSHAKE. This member can be one of the following values:
Value Meaning 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 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
Specifies 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 the ClearCommError function.
fDummy2
Reserved; do not use.
wReserved
Not used; must be set to zero.
XonLim
Specifies the minimum number of bytes allowed in the input buffer before the XON character is sent.
XoffLim
Specifies the maximum number of bytes allowed in the input buffer before the XOFF character is sent. The maximum number of bytes allowed is calculated by subtracting this value from the size, in bytes, of the input buffer.
ByteSize
Specifies the number of bits in the bytes transmitted and received.
Parity
Specifies the parity scheme to be used. This member can be one of the following values:
Value Meaning EVENPARITY Even MARKPARITY Mark NOPARITY No parity ODDPARITY Odd
StopBits
Specifies the number of stop bits to be used. This member can be one of the following values:
Value Meaning ONESTOPBIT 1 stop bit ONE5STOPBITS 1.5 stop bits TWOSTOPBITS 2 stop bits
XonChar
Specifies the value of the XON character for both transmission and reception.
XoffChar
Specifies the value of the XOFF character for both transmission and reception.
ErrorChar
Specifies the value of the character used to replace bytes received with a parity error.
EofChar
Specifies the value of the character used to signal the end of data.
EvtChar
Specifies the 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.
See Also
BuildCommDCB, ClearCommError, EscapeCommFunction, GetCommState, SetCommState
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
DCB
Структура DCB определяет управление, устанавливающееся для последовательного устройства связи.
typedef struct _DCB { // dcb DWORD DCBlength; // sizeof(DCB) DWORD BaudRate; // текущий показатель бода DWORD fBinary: 1; // двоичный способ, никакой EOF не проверяет fParity DWORD: 1; // допустимая четность, проверяющая DWORD fOutxCtsFlow:1; // ВЫХОДНОЕ управление потока CTS DWORD fOutxDsrFlow:1; // ВЫХОДНОЕ управление потока DSR DWORD fDtrControl:2; // УПРАВЛЯЮЩИЙ тип потока DTR fDsrSensitivity DWORD:1; // ЧУВСТВИТЕЛЬНОСТЬ DSR
DWORD fTXContinueOnXoff:1; // XOFF ПРОДОЛЖАЕТ Tx DWORD fOutX: 1; // XON/XOFF УПРАВЛЕНИЕ потока DWORD fInX: 1; // XON/XOFF НА управлении потока DWORD fErrorChar: 1; // допустимая замена ошибки DWORD fNull: 1; // допустимый недействительный удаляя DWORD fRtsControl:2; // ПОТОК RTS управляющего fAbortOnError DWORD:1; // отказ читает/пишется на ошибку DWORD fDummy2:17; // резервное СЛОВО wReserved; // к настоящему времени не использованное
СЛОВО XonLim; // порог передачи XON WORD XoffLim; // порог передачи XOFF BYTE ByteSize; // количество битов/байта, 4-8 БАЙТОВЫХ Четности; // 0-4=no,нечетный,ровный,отметка,пространство BYTE StopBits; // 0,1,2 = 1, 1.5, 2 символа XonChar; // Tx И символьный символ Rx XON XoffChar; // Tx И символьный символ Rx XOFF ErrorChar; // символ замены ошибки
символ EofChar; // конец входного символьного символа EvtChar; // полученный символ случая WORD wReserved1; // зарезервированное; не используйте } DCB;
Участники
DCBlength
Определяет длину, в байтах, структуры DCB.
BaudRate
Определяет показатель бода в котором устройство связи действует. Этот член может быть величиной показателя фактического бода, или один из индексов показателя следующего бода:
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
Определяет что независимо двоичный способ приспособлен. Win32 API Не поддерживает передачи nonbinary способа, так что этот член должен быть ИСТИНОЙ. Пытаясь, чтобы использовать ЛОЖЬ не будет работать.
Под Windows 3.1, если этот элемент является ЛОЖЬЮ, nonbinary режим приспособлен, и символ определенный элементом EofChar признан на вводе и поминан как конец данных.
fParity
Определяет что проверка независимо четности приспособлена. Если этот элемент является ИСТИНОЙ, проверка четности выполнена и ошибки сообщены.
fOutxCtsFlow
Определяет независимо CTS сигнала (очистка-посылает) проверен для выходного управления потока. Если этот элемент является ИСТИНОЙ и CTS выключен, выход приостановлен пока CTS не будет послаться снова.
fOutxDsrFlow
Определяет независимо DSR сигнала (данные-были установлены-готовым) проверен для выходного управления потока. Если этот элемент является ИСТИНОЙ и DSR выключен, выход приостановлен пока DSR не будет послаться снова.
fDtrControl
Определяет DTR потока (данные-терминальный-готовый) управление. Этот элемент может быть одним из следующего величин:
Значение Величины DTR_CONTROL_DISABLE Выводит из строя строку DTR когда устройство открыто и уйдено, оно выведено из строя. DTR_CONTROL_ENABLE Приспосабливается строку DTR когда устройство открыто и оставлено это на. DTR_CONTROL_HANDSHAKE Приспосабливается рукопожатие DTR. Если рукопожатие приспособлено, оно - ошибка для приложения, чтобы регулировать линию используя функцию EscapeCommFunction.
fDsrSensitivity
Определяет независимо драйвер связи чувствительное к состоянию сигнала DSR. Если этот элемент является ИСТИНОЙ, драйвер игнорирует любые байты полученные, если входная строка модема DSR не высокая.
fTXContinueOnXoff
Определяет стоп независимо передачи когда входной буфер полный и драйвер передал символ XoffChar. Если этот элемент является ИСТИНОЙ, передача остается после того, как входной буфер войдет в байты XoffLim полного и драйвера передал символ XoffChar, чтобы переставать получать байты. Если этот элемент является ЛОЖЬЮ, передача не остается пока входной буфер не будет в пределах байтов XonLim пустого и драйвера передали символ XonChar, чтобы продолжать прием.
fOutX
Определяет использовано XON/XOFF управления потока в течение передачи. Если этот элемент - ИСТИНА, стоп передачи когда символ XoffChar получен и начат снова когда символ XonChar получен.
fInX
Определяет использовано XON/XOFF управления потока в течение приема. Если этот элемент является ИСТИНОЙ, символ XoffChar послан когда входной буфер входит в байты XoffLim полного, и символ XonChar послан когда входной буфер входит в байты XonLim пустого.
fErrorChar
Определяет независимо байты полученные ошибками четности заменены символом определенным элементом ErrorChar. Если этот элемент является ИСТИНОЙ и элемент fParity является ИСТИНОЙ, замена происходит.
fNull
Определяет что независимо недействительные байты отвергнуты. Если этот элемент является ИСТИНОЙ, недействительные байты отвергнуты когда получено.
fRtsControl
Определяет RTS потока (запрос-посылает) управление. Если эта величина является нулем, умолчание - RTS_CONTROL_HANDSHAKE. Этот элемент может быть одним из следующего величин:
Значение Величины RTS_CONTROL_DISABLE Выводит из строя строку RTS когда устройство открыто и уйдено, оно выведено из строя. RTS_CONTROL_ENABLE Приспосабливается строку RTS когда устройство открыто и оставлено это на. RTS_CONTROL_HANDSHAKE Приспосабливается рукопожатие RTS. Драйвер поднимает строку RTS когда "тип-вперед" (ввод) буфер - менее чем половина полных и уменьшает строку RTS когда буфер более, чем трех квартал полный. Если рукопожатие приспособлено, оно - ошибка для приложения, чтобы регулировать линию используя функцию EscapeCommFunction. RTS_CONTROL_TOGGLE Определяет, что строка RTS будет высокой если байты доступны для передачи. В конце концов буферные байты посланы, строка RTS будет низкой.
fAbortOnError
Определяет независимо прочитанный и операции записи расторгнутые если ошибка происходит. Если этот элемент является ИСТИНОЙ, драйвер завершает все прочитанный и операции записи со статусом ошибки если ошибка происходит. Драйвер не примет дальнейшие операции связи пока приложение не признало ошибку вызывая функцию ClearCommError.
fDummy2
Зарезервированное; не используйтесь.
wReserved
Не использованное; должно быть установлено в нуль.
XonLim
Определяет минимальное количество байтов допущенных в входной буфер прежде, чем символ XON будет послан.
XoffLim
Определяет максимальное количество байтов допущенных в входной буфер прежде, чем символ XOFF будет послан. Максимальное количество байтов допущенных вычислено вычитанием этой величины из размера, в байтах, входного буфера.
ByteSize
Определяет количество битов в байтах переданных и полученных.
Четность
Определяет схему четности, которая нужно использоваться. Этот элемент может быть одним из следующего величин:
Оцените Значение EVENPARITY Даже Отметка MARKPARITY No четности NOPARITY ODDPARITY Нечетный
StopBits
Определяет количество стоповых битов, чтобы быть использованн. Этот элемент может быть одним из следующего величин:
Оцените Значение ONESTOPBIT 1 стоповых битовых стоповых битов ONE5STOPBITS 1.5 стоповых битов TWOSTOPBITS 2
XonChar
Определяет величине символа XON как для передачи так и приема.
XoffChar
Определяет величине символа XOFF как для передачи так и приема.
ErrorChar
Определяет величину символа использованного, чтобы заменять байты полученные ошибкой четности.
EofChar
Определяет величину символа использованного, чтобы сигнализировать конец данных.
EvtChar
Определяет величину символа использованного, чтобы сигнализировать событие.
wReserved1
Зарезервированное; не используйтесь.
Замечания
Когда структура DCB использована, чтобы конфигурировать 8250, следующие ограничения относятся к величинам определенным для ByteSize и участников StopBits:
Номер битов данных должен быть 5 на 8 битов. Использование 5 данных сцепляется с 2 стоповыми битами - неправильная комбинация, что - 6, 7, или 8 битов данных с 1.5 стоповыми битами.
Смотри Также
BuildCommDCB, ClearCommError, EscapeCommFunction, GetCommState, SetCommState
|
|
|
|
| |