Олег Титов - Работа с COM и LPT в Win32.

Здесь есть возможность читать онлайн «Олег Титов - Работа с COM и LPT в Win32.» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Работа с COM и LPT в Win32.: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Работа с COM и LPT в Win32.»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Работа с COM и LPT в Win32. — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Работа с COM и LPT в Win32.», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

XoffLim

Определяет максимальное количество байт в приемном буфере перед посылкой символа XOFF. Максимально допустимое количество байт в буфере вычисляется вычитанием данного значения из размера применого буфера в байтах.

ByteSize

Определяет число информационных бит в передаваемых и принимаемых байтах.

Parity

Определяет выбор схемы контроля четности. Данное поле должно содержать одно из следующих значений:

EVENPARITY Дополнение до четности
MARKPARITY Бит четности всегда 1
NOPARITY Бит четности отсутствует
ODDPARITY Дополнение до нечетности
SPACEPARITY Бит четности всегда 0

StopBits

Задает количество стоповых бит. Поле может принимать следующие значения:

ONESTOPBIT Один стоповый бит
ONE5STOPBIT Полтора стоповых бита
TWOSTOPBIT Два стоповых бита

XonChar

Задает символ XON используемый как для примема, так и для передачи.

XoffChar

Задает символ XOFF используемый как для примема, так и для передачи.

ErrorChar

Задает символ, использующийся для замены символов с ошибочной четностью.

EofChar

Задает символ, использующийся для сигнализации о конце данных.

EvtChar

Задает символ, использующийся для сигнализации о событии.

wReserved1

Зарезервировано и не используется.

Так как поля структуры DCB используются для конфигурирования микросхем портов, на них накладываются некоторые ограничения. Размер байта должен быть 5, 6, 7 или 8 бит. Комбинация из пяти битного байта и двух стоповых бит является недопустимой. Так же как и комбинация из шести, семи или восьми битного байта и полутора стоповых бит.

Только что рассмотренная нами структура DCB самая большая из всех, использующихся для настройки последовательных портов. Но она и самая важная. Заполнение всех полей этой структуры может вызвать затруднения, так как надо очень четко представлять как работает последовательный порт. Поэтому ручную установку полей можно порекомендовать опытным программистам. Если же Вы чувствуете себя не очень уверено, воспользуйтесь функцией BuildCommDCB, которая позволяет заполнить поля структуры DCB на основе строки, по синтаксису аналогичной строке команды mode. Вот как выглядит прототип этой функции:

BOOL BuildCommDCB(LPCTSTR lpDef, LPDCB lpDCB);

Как видно, функция очень проста и имеет всего два параметра:

lpDef

Указатель на строку с конфигурационной информацией в формате команды mode. Например, следующая строка задает скорость 1200, без четности, 8 бит данных и 1 стоповый бит.

baud=1200 parity=N data=8 stop=1

lpDCB

Указатель на заполняемую структуру DCB. При этом структура должна быть уже создана и заполнена нулями, кроме поля DCBlength, которое должно содержать корректное значение. Возможно так же использование уже заполненой структуры DCB, например полученой вызовом одной из функций чтения параметров порта.

В случае успешного завершения функция BuildCommDCB возвращает ненулевое значение. В случае ошибки возвращается 0.

Обычно функция BuldCommDCB изменяет только явно перечисленые в строке lpDef поля. Однако существуют два исключения из этого правила:

• При задании скорости обмена 110 бит в секунду автоматически устанавливается формат обмена с двумя стоповыми битами. Это сделано для совместимости с командой mode из MS-DOS или Windows NT.

• По умолчанию запрещается программное (XON/XOFF) и аппаратное управление потоком. Вы должны вручную заполнить требуемые поля DCB если требуется управление потоком.

Функция BuilCommDCB поддерживает как новый, так и старый форматы командной строки mode. Однако, Вы не можете смешивать эти форматы в одной строке.

Новый формат строки позволяет явно задавать значения для полей DCB отвечающих за управление потоком. При использовании старого формата существуют следующие соглашения:

• Для строк вида 9600,n,8,1(не заканчивающихся символами x или p):

○ fInX, fOutX,fOutXDsrFlow, fOutXCtsFlow устанавливаются в FALSE

○ fDtrControl устанавливается в DTR_CONTROL_ENABLE

○ fRtsControl устанавливается в RTS_CONTROL_ENABLE

• Для строк вида 9600,n,8,1,x(заканчивающихся символом х):

○ fInX, fOutX устанавливаются в TRUE

○ fOutXDsrFlow,fOutXCtsFlow устанавливаются в FALSE

○ fDtrControl устанавливается в DTR_CONTROL_ENABLE

○ fRtsControl устанавливается в RTS_CONTROL_ENABLE

• Для строк вида 9600,n,8,1,p(заканчивающихся символом p):

○ fInX, fOutX устанавливаются в FALSE

○ fOutXDsrFlow,fOutXCtsFlow устанавливаются TRUE

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Работа с COM и LPT в Win32.»

Представляем Вашему вниманию похожие книги на «Работа с COM и LPT в Win32.» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Работа с COM и LPT в Win32.»

Обсуждение, отзывы о книге «Работа с COM и LPT в Win32.» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x