Структура DCBDelphi , Файловая система , ПортыСтруктура DCBСтруктура DCB определяет установку управления для последовательного порта ввода-вывода (нам она понадобится для разбора примера с программой управления весами ПетрВес) Примечание : В местах где нельзя дать точный перевод будет дано определение на английском из MSDK и приблизительный его перевод Описание в эквиваленте C typedef struct _DCB { // dcb DWORD DCBlength; // Размер DCB DWORD BaudRate; // Скорость пересылки данных в бодах; // текущая скорость в бодах DWORD fBinary: 1; // binary mode, no EOF check // двоичный режим , не проверять конец // данных (по умолчанию значение = 1) DWORD fParity: 1; // Включить проверку четность (по умолчанию // значение = 1) DWORD fOutxCtsFlow:1; // CTS управление потоком выхода DWORD fOutxDsrFlow:1; // DSR управление потоком выхода DWORD fDtrControl:2; // DTR Тип управления потоком скорости // передачи данных DWORD fDsrSensitivity:1; // DSR sensitivity (чувствительность) DWORD fTXContinueOnXoff:1; // XOFF continues Tx (стоп-сигнал // продалжает выполнение) DWORD fOutX: 1; // XON/XOFF out flow control (СТАРТ- // СИГНАЛ / СТОП-СИГНАЛ для управления // выходящим потоком (по умолчанию // значение = 1) DWORD fInX: 1; // XON/XOFF in flow control (СТАРТ- // СИГНАЛ / СТОП-СИГНАЛ для управления // входящим потоком (по умолчанию // значение = 1) DWORD fErrorChar: 1; // enable error replacement (включить // проверку погрешностей по умолчанию=1) DWORD fNull: 1; // enable null stripping (отвергать // пустой поток данных (по умолчанию=1)) DWORD fRtsControl:2; // RTS управление потоком данных DWORD fAbortOnError:1; // abort reads/writes on error // (проверять операции чтения/записи // по умолчанию=1) DWORD fDummy2:17; // reserved ЗАРЕЗЕРВИРОВАНО WORD wReserved; // not currently used НЕ ДЛЯ // ИСПОЛЬЗОВАНИЯ WORD XonLim; // transmit XON threshold (порог // чувствительности старт-сигнала) WORD XoffLim; // transmit XOFF threshold (порог // чувствительности стоп-сигнала) BYTE ByteSize; // Бит в байте (обычно 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; Пример : with Mode do begin BaudRate := 9600; ByteSize := 8; Parity := NOPARITY; StopBits := ONESTOPBIT; // одиночный стоп-бит Flags := EV_RXCHAR + EV_EVENT2; end; Параметры :
DCBlength
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
Примечание:
fParity
fOutxCtsFlow
fOutxDsrFlow
fDtrControl Принимает следующие значения :
DTR_CONTROL_DISABLE
DTR_CONTROL_ENABLE
DTR_CONTROL_HANDSHAKE Допускает подтверждению связи передачи данных Если подтверждение связи допускается, это - погрешность для того чтобы регулировать(корректировать) линию связи, используя функцию EscapeCommFunction.
fDsrSensitivity Определяет возможна ли по порту двухсторонняя передача в ту и в другую сторону сигнала.
fTXContinueOnXoff
fOutX
fInX
fErrorChar
fNull
fRtsControl
RTS_CONTROL_DISABLE
RTS_CONTROL_ENABLE
RTS_CONTROL_HANDSHAKE Допускает RTS подтверждение связи. Драйвер управляет потоком пересылки.RTS выравнивается , когда входной буфер - меньше чем половина полного и понижается, когда буфер - больше 2/3 полного .Если подтверждение связи допускается, это используется для регулирования передачи данных EscapeCommFunction.
RTS_CONTROL_TOGGLE
FAbortOnError Если этот параметр ИСТИНЕН, драйвер закрывает все операции чтения/записи с состоянием погрешности при возникновении оной. Драйвер не будет принимать никакие дальнейшие действия, пока не дождется подтверждения погрешности в передоваемых (принимаемых) данных, вызывая функцию ClearCommError.
fDummy2
wReserved
XonLim
XoffLim
ByteSize
Parity
EVENPARITY Этот параметр может быть одним из следующих значений:
ONESTOPBIT 1 stop bit
XonChar
XoffChar
ErrorChar
EofChar
EvtChar
wReserved1
Дополнение: Число информационных разрядов должно быть от 5 до 8 битов. Использование 5 информационных разрядов с 2 стоповыми битами - недопустимая комбинация, как - 6, 7, или 8 информационных разрядов с 1.5 стоповыми битами. Структура DCB определяет установку управления для последовательного порта ввода-вывода и используется для настройки параметров передачи данных, включая скорость передачи, тип четности, количество стоповых битов и управление потоком. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |