Дипломная работа: Візуальний облік вхідних даних інтерфейсу RS-232

HANDLE hTemplateFile

);

Функція має багато параметрів. Розглянемо короткий опис параметрів даної функції: lpFileName

Вказівник на рядок з ім'ям, що відкривається або створюваного файлу. Формат цього рядка може бути дуже складним. Зокрема можна вказувати мережеві імена для доступу до файлів на інших комп'ютерах. Можна відкривати логічні розділи або фізичні диски і працювати в обхід файлової системи. Послідовні порти мають імена "COM1", "COM2", "COM3", "COM4". Паралельні порти називаються "LPT1", "LPT2" і так далі. Необхідно врахувати, що якщо до порту СОМ1 підключена миша, Windows не дасть відкрити цей порт. Аналогічно не вдасться відкрити LPT1 якщо підключено принтер.

dwDesiredAccess Задає тип доступу до файлу. Можливе використання наступних значень:

0- Опитування атрибутів пристрою без одержання доступу до нього.

GENERIC_READ - Файл буде зчитуватися.

GENERIC_WRITE - Файл буде записуватися.

GENERIC_READ|GENERIC_WRITE- Файл буде і зчитуватися і записуватися.

dwShareMode

Задає параметри спільного доступу до файлу. Комунікаційні порти не можна робити роздільними, тому даний параметр повинний дорівнювати 0.

lpSecurityAttributes

Задає атрибути захисту файлу. Підтримується тільки в Windows NT. Однак при роботі з портами повинний у будь-якому випадку дорівнювати NULL.

dwCreationDistribution

Для комунікаційних портів даний параметр завжди повинен задаватися як OPEN_EXISTING.

dwFlagsAndAttributes

Задає атрибути створюваного файлу. Так само керує різними режимами обробки. Для наших цілей цей параметр повинний бути або рівним 0, або FILE_FLAG_OVERLAPPED. Нульове значення використовується при синхронній роботі з портом, а FILE_FLAG_OVERLAPPED при асинхронної, або іншими словами, при фоновій обробці введення/виведення.

hTemplateFile

Задає описувач файлу-шаблона. При роботі з портами завжди повинний дорівнювати NULL.

При успішному відкритті файлу, у нашому випадку порту, функція повертає описувач (HANDLE) файлу. При помилці INVALID_HANDLE_VALUE.

Відкритий порт повинний бути закритий перед завершенням роботи програми. У Win32 закриття об'єкта по його описувача виконує функція CloseHandle:

BOOL CloseHandle(

HANDLE hObject

);

Функція має єдиний параметр - описувач об'єкта, що закривається. При успішному завершенні функція повертає не нульове значення, при помилці нуль.

Відкривши порт ми отримуємо його у своє розпорядження. Тепер з портом може працювати тільки наша програма. Однак, перш ніж займатися введенням/виведенням, ми повинні настроїти порт. Це стосується тільки послідовних портів, для яких необхідно задати швидкість обміну, параметри парності, формат даних та інше. Крім того існує трохи специфічних для Windows параметрів. Мова йде про тайм-аути, що дозволяють контролювати як інтервал між прийнятими байтами, так і загальний час прийому повідомлення.

Основні параметри послідовного порту описуються структурою DCB. Тимчасові параметри структурою COMMTIMEOUTS. Настроювання порту полягає в заповненні керуючих структур і наступному виклику функцій настроювання.

Основну інформацію містить структура DCB:

typedef struct _DCB {

К-во Просмотров: 304
Бесплатно скачать Дипломная работа: Візуальний облік вхідних даних інтерфейсу RS-232