- •Реализация функций контроля и управления на базе Win32 api
- •Киров 2005
- •1 Лабораторная работа №1. Файловая и дисковая система windows
- •1.1 Размещение файлов. Правила именования файлов
- •1.2 Функции Win32 api получения информации о файлах и дисках
- •1.3 Управляющие функции файловой системы
- •1.4 Вспомогательные функции. Связь всех видов функций
- •1.5 Порядок выполнения лабораторной работы №1
- •2.1 Назначение устройств ручного ввода и их виды
- •2.2 Функции Win32 api для клавиатуры и мыши
- •2 Лабораторная работа №2. Устройства ручного ввода
- •2.3 Порядок выполнения лабораторной работы №2
- •3 Лабораторная работа №3. Видеосистема
- •3.1 Основное функциональное назначение видеосистемы
- •3.2 Функции Win32 api для видеосистемы
- •3.3 Порядок выполнения лабораторной работы №3
- •4 Лабораторная работа №4. Организация связи с принтером по параллельному интерфейсу
- •4.1 Назначение печатающих устройств
- •4.2 Функции Win32 api для печатающих устройств
- •4.3 Порядок выполнения лабораторной работы №4
- •5 Лабораторная работа №5. Организация связи по последовательному интерфейсу
- •5.1 Назначение обмена данными и способы обмена
- •5.2 Функции Win32 api для обмена данными по rs-232с
- •5.3 Порядок выполнения лабораторной работы №5
- •6 Лабораторная работа №6. Поиск и визуализация найденных слов в текстовых документах
- •7 Лабораторная работа №7. Создание и использование win32 dll-модулей в приложениях
- •8 Лабораторная работа №8. Использование компонент activex/ocx для вывода графической информации
- •Приложение
- •Литература
5.2 Функции Win32 api для обмена данными по rs-232с
Функции получения информации при обмене данными всегда применяются в приложениях, где необходимо осуществить настройку параметров до начала приема или передачи.
Основные информационные функции обмена по последовательному порту RS-232С:
GetCommTimeouts;
GetCommProperties;
GetCommState.
Данные функции позволяют получить следующую информацию:
а) временные характеристики обмена:
время, в течение которого должен быть получен следующий символ при приеме;
время, в миллисекундах, на каждый принимаемый символ;
время, в миллисекундах, прибавляемое к общему времени приема;
время, в миллисекундах, на каждый передаваемый символ;
время, в миллисекундах, прибавляемое к общему времени передачи;
б) свойства устройства обмена:
тип устройства;
версия пакета;
максимальный размер внутреннего буфера для передачи в байтах;
размер внутреннего буфера для передачи в байтах;
максимальный размер внутреннего буфера для приема в байтах;
размер внутреннего буфера для приема в байтах;
максимальная скорость передачи в битах на секунду (bps);
поддерживаемые режимы и возможности;
устанавливаемые параметры;
устанавливаемые скорости передачи;
поддерживаемые количества информационных бит;
поддерживаемые количества стоповых бит;
поддерживаемые паритеты;
в) параметры текущего сеанса связи:
текущая скорость передачи в bps;
количество информационных бит;
количество стоповых битов;
значение символа XON для приема и передачи;
значение символа XOFF для приема и передачи;
значение символа замещающий байты при ошибке;
значение символа "конец вводимых данных";
значение символа "конец вводимых данных";
значение символа "событие" и т.д.
Необходимо отметить, что обмен данными между двумя устройствами по последовательному порту будет корректно осуществляться только в том случае, когда передатчик на одной стороне и приемник на противоположной стороне имеет идентичные параметры настройки.
Настройка параметров, так же как передача и прием осуществляется с использованием управляющих функций. Основные управляющие функции Win32 API для обмена по последовательному порту:
SetCommTimeouts;
SetCommState;
WriteFile;
ReadFile.
Для работы с данными функциями потребуются обслуживающие функции, которыми являются CreateFile (открытие устройства) и CloseHandle (закрытие устройства).
Приведенные функции позволяют осуществить следующие действия:
а) изменение временных характеристик обмена:
изменение времени, в течение которого должен быть получен следующий символ при приеме;
изменение времени, в миллисекундах, на каждый принимаемый символ;
изменение времени, в миллисекундах, прибавляемое к общему времени приема;
изменение времени, в миллисекундах, на каждый передаваемый символ;
изменение времени, в миллисекундах, прибавляемое к общему времени передачи;
б) изменение параметров текущего сеанса связи:
текущей скорости передачи в bps;
количества информационных битов;
количества стоповых битов;
значения символа XON для приема и передачи;
значения символа XOFF для приема и передачи;
значения символа замещающего байты при ошибке;
значения символа "конец вводимых данных";
значения символа "конец вводимых данных";
значения символа "событие" и т.п.;
в) передача данных;
г) прием данных.
Передача и прием данных может вестись различными способами, большинство из которых определяется настройками сеанса связи и функциями, используемыми при обмене данными. Используются два режима передачи синхронный и асинхронный.
