Візуальний облік вхідних даних інтерфейсу RS-232 - Программирование, компьютеры и кибернетика дипломная работа

Візуальний облік вхідних даних інтерфейсу RS-232 - Программирование, компьютеры и кибернетика дипломная работа




































Главная

Программирование, компьютеры и кибернетика
Візуальний облік вхідних даних інтерфейсу RS-232

Ведення обліку даних, що поступають на вхід стандартного інтерфейсу RS-232(COM-порт). Програма для графічного відображення вхідних даних у вигляді графіку та збереження отриманих даних. Візуальна об'єктно-орієнтована мова програмування високого рівня.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ЧЕРНІВЕЦЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ
Кафедра комп'ютерних систем та мереж
7.091501 комп'ютерні системи та мережі
Візуальний облік вхідних даних інтерфейсу RS-232
Програма „Візуальний облік вхідних даних інтерфейсу RS-232” призначена для ведення обліку даних, що поступають на вхід стандартного інтерфейсу RS-232(COM-порт), а також для графічного відображення вхідних даних у вигляді графіку та збереження отриманих даних у файлах відповідних форматів.
Програма дозволяє відображувати дані, що приходять на СОМ-порти, у вигляді, який необхідний користувачу. Для відображення графіку використовуються низка опцій, за допомогою яких користувач може отримати зображення графіка таким, який йому необхідний.
Програмний продукт реалізований за допомогою інструментальних засобів візуальної об'єктно-орієнтованої мови програмування високого рівня Delphi 6.0.
На сучасному етапі темпи розвитку комп'ютерної техніки надзвичайно високі. В зв'язку з цим кожного дня в світ виходять десятки нових периферійних пристроїв, які можна підключати до персонального комп'ютера. І саме тому для людей, які займаються розробкою та удосконаленням існуючих пристроїв гострою є проблема написання програм, які могли б аналізувати дані, що приходять на порти ЕОМ, адже для цього необхідно мати фундаментальні знання функціонування портів.
Програмне забезпечення для обслуговування портів існує, проте воно є спеціалізоване, і в більшості випадків написане на мовах низького рівня програмування, що вимагає від користувачів вивчення основ функціонування самих ОС. До того ж зручний інтерфейс таких програм було досить складно розробляти.
Раніше для написання програм даного типу використовувалясь мова програмування Assembler, яка дозволяла напряму працювати з портами та регістрами. При цьому ОС були однозадачними, і тому не було сенсу враховувати те, дані, які поступають на порт призначені зовсім іншому додатку. Ось чому написати програму, яка працює з пристроєм через COM-порт, для MS-DOS було не так важко і це часто робили не програмісти, а самі розробники пристроїв.
З платформою Win32 дана проблема є більш складною. Складніше зробити зручний інтерфейс користувача, чим зазвичай і займаються професійні програмісти. Звичайно, працювати безпосередньо з регістрами портів було досить зручно, але у Windows це не можливо. Однак перевагою програмування для Win32 є те, що не є принциповим питанням роботи різними реалізаціями цих портів (i8055, 16450, 16550A), а також відсутня проблема розробки обробників переривань. Все це здійснюється самою операційною системою. Програмісту достатньо знати лише з якими структурами працює даний порт.
В даній роботі була зроблена програма, яку можна було б використати для графічного відображення даних, що поступають на стандартні інтерфейси ЕОМ, зокрема СОМ-порт, для Win32 операційних систем. Програма не вимагає від користувача спеціалізованих навичок в роботі з комп'ютером, оскільки написана з використанням стандартних елементів інтерфейсу операційної системи Windows.
Програма призначена для візуального відображення даних, що надходять на інтерфейс RS-232, а також для їх обробки, яка включає в себе:
Можливість візуального відображення отриманих даних у вигляді:
Автоматичне маштабування отриманої інформації по осях координат (кількість, частота);
Можливість збереження даних з подальшим їх зчитуванням;
Збереження графіків у відповідних графічних форматах;
Можливість згладження графіка функції;
Отримання результатів вимірювань протягом періоду часу, що залежить лише від розміру оператичної пам'яті та розміру файла підкачки.
В програмі реалізована можливість подальшого використання отримання даних для інших інтерфейсів ЕОМ. Для цього необхідно лише створити модулі читання даних з відповідних інтерфейсів.
Назва: „Візуальний облік вхідних даних інтерфейсу RS-232”.
Програма призначена для візуального відображення даних, що поступають на вхід стандартного інтерфейсу RS-232(COM-порт), а також для графічного відображення вхідних даних у вигляді графіку та збереження отриманих даних у файлах відповідних форматів.
Програма може використовуватись при дослідженні працездатності, правильності функціонування та статистичного аналізу даних, що поступають з пристрою, який підключений до СОМ-порту ЕОМ.
Дана програма допомогає користувачам (особливо радіотехнічних спеціальностей) отримувати числові значення, проводити візуальне спостереження за зміною отримуваних даних в реальному часі з подальшим їх збереженням у зручному для користувача форматі як текстовому, так і графічному.
1.2 Вимоги до функціональних характеристик
Програма повинна відповідати наступним вимогам:
працювати під управлінням операційних систем типу Windows 9.x/NT/XP.
відображати дані як у вигляді графіка функції, так і в табличному представленні.
забезпечити можливість вибору інтерфейсів, з якого будуть отримуватись дані.
зберігати у відповідних форматах файлів текстову та графічну інформацію.
1.3 Вимоги до середовища експлуатації
Рекомендовані технічні параметри для робочої станції для нормального функціонування програми наведені нижче.
- 300 КБ вільного простору на жорсткому диску.
- Графічна система, що дозволяє забезпечити роздільну здатність 800x600 пікселів.
Необхідними вимоги до системного програмного забезпечення являється тільки наявність операційної системи Windows 95 або вище.
До основних типів портів персонального комп'ютера відносять наступні:
* послідовні інтерфейси(СОМ - порти або RS-232);
* паралельні інтерфейси (LPT - порти);
Паралельні інтерфейси характеризуються тим, що в них для передачі біт у слові використовуються окремі сигнальні лінії, і біти передаються одночасно. Паралельні інтерфейси використовують логічні рівні ТТЛ (транзисторно-транзисторної логіки), що обмежує довжину кабелю через невисоку перешкодозахищеність ТТЛ-інтерфейса. Гальванічна розв'язка відсутня. Паралельні інтерфейси використовують для підключення принтерів. Передача даних може бути як односпрямованою (Centronics), так і двоспрямованою (Bitronics). Іноді паралельний інтерфейс використовують для зв'язку між двома комп'ютерами.
Для підключення принтера по інтерфейсу Centronics у PC був введений порт паралельного інтерфейсу -- так виникла назва LPT-nopт (Line PrinTer -- порядковий принтер). Хоча зараз через цей порт підключаються не тільки порядкові принтери, назва «LPT» залишилася.
Адаптер паралельного інтерфейсу являє собою набір регістрів, розташованих у просторі введення/висновку. Регістри порту адресуються щодо базової адреси порту, стандартними значеннями якого є 378h и 278h. Порт може використовувати лінію запиту апаратного переривання, звичайно IRQ7 або IRQ5. Порт має зовнішню 8-бітну шину даних, 5-бітну шину сигналів стану і 4-бітну шину керуючих сигналів.
BIOS підтримує до чотирьох (іноді до трьох) LPT-портів (LPT1-LPT4) своїм сервісом -- перериванням INT 17h, що забезпечує через них зв'язок із принтером по інтерфейсі Centronics. Цим сервісом BIOS здійснює висновок символу (по опитуванню готовності, не використовуючи апаратних переривань), ініціалізацію інтерфейсу і принтера, а також опитування стану принтера.
Послідовний інтерфейс для передачі даних використовує одну сигнальну лінію, по якій інформаційні біти передаються друг за другом послідовно. Звідси й назва інтерфейсу і порту. Англійські терміни -- Serial Interface і Serial Port. Послідовна передача дозволяє скоротити кількість сигнальних ліній і збільшити дальність зв'язку. Характерною рисою є застосування не-ТТЛ сигналів. У ряді послідовних інтерфейсів застосовується гальванічна розв'язка зовнішніх сигналів від схемної землі пристрою, що дозволяє з'єднувати пристрої, що знаходяться під різними потенціалами.
Послідовна передача даних може здійснюватися в асинхронному або синхронному режимах. При асинхронній передачі кожному байтові передує стартовий-байт, що сигналізує приймачеві про початок посилки, за яким слідують біти даних і, можливо, біт паритету. Завершує посилку стоп-байт, що гарантує паузу між посилками. Стартовий-байт наступного байта посилається в будь-який момент після стопового-байта, тобто між передачами можливі паузи довільної тривалості. Байт, що має завжди строго визначене значення (логічний 0), забезпечує простий механізм синхронізації приймача але сигналові від передавача. Мається на увазі, що приймач і передавач працюють на одній швидкості обміну. Внутрішній генератор синхронізації приймача використовує лічильник-дільник опорної частоти, обнулюються у момент прийому початку стартового-байта. Цей лічильник генерує внутрішні строби, по яких приймач фіксує наступні приймаючі біти. В ідеалі строби розташовуються в середині бітових інтервалів, що дозволяє приймати дані і при незначній неузгодженості швидкостей приймача і передавача.
2.2 Основні характеристики СОМ-портів та їх застосування
На фізичному рівні послідовний інтерфейс має різні реалізації, що розрізняються способом передачі електричних сигналів. Існує ряд стандартів: RS-232C, RS-423A, RS-422A і RS-485.
Несиметричні лінії інтерфейсів RS-232C і RS-423A мають саму низьку захищеність від синфазної перешкоди, диференціальний вхід приймача RS-423A трохи зм'якшує ситуацію. Кращі параметри має двохточковий інтерфейс RS-422A і його магістральний аналог RS-485, що працюють на симетричних лініях зв'язку. У них для передачі кожного сигналу використовуються диференціальні сигнали з окремої парою проводів.
Найбільше поширення в PC одержав найпростіший з перерахованих -- стандарт RS-232C, реалізований Сомами-портами. У промисловій автоматиці широко застосовується RS-485, а також RS-422A, що зустрічається й у деяких принтерах. Існують перетворювачі сигналів для узгодження цих родинних інтерфейсів.
Стандарт RS-232C використовує несиметричні передавачі і приймачі - сигнал передається щодо загального проводу -- схемної землі. Інтерфейс НЕ ЗАБЕЗПЕЧУЄ ГАЛЬВАНІЧНОЇ РОЗВ'ЯЗКИ пристроїв. Логічній одиниці відповідає напруга на вході приймача в діапазоні -* 12...-3 В. Для ліній керуючих сигналів цей стан називається ON («включене»), для ліній послідовних Даних -- MARK. Логічному нулеві відповідає діапазон +3...+12 В. Для ліній керуючих сигналів стан називається ОFF(«виключене»), а для ліній послідовних даних -- SPACE. Діапазон -3...+3 В -- зона нечутливості, що обумовлює гистерезис приймача: стан лінії буде вважатися зміненим тільки після Перетинання порога (мал. 2.5). Рівні сигналів на виходах передавачів повинні бути в діапазонах -12...-5 В и +5...+12 В для представлення одиниці і нуля відповідно. Різниця потенціалів між схемними землями пристроїв, що з'єднуються, повинна бути менш 2 В, при більш високій різниці потенціалів можливо невірне сприйняття сигналів. Інтерфейс припускає наявність ЗАХИСНОГО ЗАЗЕМЛЕННЯ для пристроїв, що з'єднуються, якщо вони обоє живляться від мережі змінного струму і мають мережеві фільтри.
Послідовний інтерфейс СОМ-порт (Communication Port -- комунікаційний порт) з'явився в перших моделях IBM PC. Він був реалізований на мікросхемі асинхронного прийому передатчиків Intel 8250. Порт мав підтримку BIOS (INT 14h), однак широко застосовувалося (і застосовується) взаємодія з портом на рівні регістрів. Тому у всіх PC-сумісних комп'ютерах для послідовного інтерфейсу застосовують мікросхеми прийомопередатчиків, сумісні з 18250. У ряді вітчизняних PC-сумісних комп'ютерів для послідовного інтерфейсу застосовувалася мікросхема КР580ВВ51 -- аналог i8251. Сумісності з PC на рівні регістрів Сома-порту такі комп'ютери не мають. Сумісність на рівні регістрів СОМ-порту вважається необхідною. Багато розроблювачів комунікаційних пакетів пропонують роботу і через BІOS INT 14h, однак на високих швидкостях це неефективно. Говорячи про СоОМ-порт PC, за замовчуванням будемо мати на увазі сумісність реєстрової моделі з i8250 і реалізацію асинхронного інтерфейсу RS-232C.
Хоча на даний час існують більш швидкі комунікаційні інтерфейси, однак виробники материнських плат включають в склад своїх продуктів підтримку цих портів. Адже в світі залишилося багато техніки, яка використовує старі СОМ та LPT порти. Для цих портів розробляють навіть деякі сучасні периферійні пристрої. До областей застосування СОМ-порту можна віднести:
підключення маніпуляторів (миша, трекбол)
беспроводних комунікацій та деякі інші
Комп'ютер може мати до чотирьох послідовних портів СОМ 1-COM4 (для машин класу AT типова наявність двох портів). Сом-порти мають зовнішні раз'єми вилку DB25P або DB9P, виведені на задню панель комп'ютера.
Соми-порти реалізуються на мікросхемах UART, сумісних із сімейством 18250. Вони займають у просторі введення/висновку по 8 суміжних 8-бітних регістрів і можуть розташовуватися по стандартних базових адресах. Порти виробляють апаратні переривання. Можливість поділюваного використання однієї лінії запиту декількома портами (або її поділу з іншими пристроями) заноситься від реалізації апаратного підключення і ПО. При використанні портів, установлених на твань ISA, поділювані переривання звичайно не працюють.
Керування послідовним портом розділяється на дна етапу -- попереднє конфигурування (Setup) апаратних засобів порту і поточне (оперативне) переключення режимів роботи прикладним або системним ПО. Конфигурування СОМ-порту залежить від його виконання. Порт на платі розширення конфигурується джамнерами на самій платі. Порт на системній платі конфигурується через BIOS Setup.
Конфигуруванню підлягають наступні параметри:
Базова адреса, що може мати значення 3F8h, 2F8h, 3E8h (3EOh, 338h) або 2E8h (2EOh, 238h). При ініціалізації BIOS перевіряє наявність портів по адресах саме в цьому порядку і привласнює виявленим портам логічні імена СОМ1, COM2, COM3 і COM4. Для PS/2 стандартними для портів СОМЗ-СОМ8 є адреси 3220h,3228h,4220h, 4228h, 5220h і 52281) відповідно.
Використовувана лінія запиту переривання: для СОМ1 і COM3 звичайно використовується IRQ4 або IRQ11, для COM2 і COM4 -- IRQ3 або IRQ10. У принципі номер переривання можна призначати в довільних сполученнях з базовою адресою (номером порту), але деякі програми і драйвери набудовані на стандартні сполучення. Кожному портові, що відповідає апаратному перериванні, призначають окрему лінію, що не збігається з лініями запиту переривань інших пристроїв. Переривання необхідні для портів, до яких підключаються пристрої введення, UPS або модеми.
Режим роботи порту за замовчуванням (2400 біт/з, 7 біт даних, 1 стогін-битий і контроль парності), заданий при ініціалізації порту під час BIOS POST, може змінюватися в будь-який момент при настроюванні комунікаційних програм або командою DOS MODE COMx: із указівкою параметрів.
У процесі початкового тестування POST BIOS перевіряє наявність послідовних портів (регістрів UART 8250 або сумісних) по стандартних адресах і поміщає базові адреси виявлених портів в осередки ВІOS Data Area 0:0400, 0402, 0404, 0406. Ці осередки зберігають адреси портів з логічними іменами СОМ1-COM4. Нульове значення адреси є ознакою відсутності порту з даним номером. В осередки 0:047С, 047D, 047Е, 047F заносяться константи, що задають тайм-аут для портів.
Виявлені порти иніціалізуються на швидкість обміну 2400 біт/з, 7 біт даних з контролем на парність, 1 стоп-битий. Керуючі сигнали інтерфейсу DTR і RTS переводяться у вихідний стан («виключена» -- позитивна напруга).
Порти підтримуються сервісом BIOS INT 14h, що забезпечує наступні функції:
00h -- ініціалізація (установка швидкості обміну і формату посилок, заданих регістром AL; заборона джерел переривань). На сигнали DTR і RTS впливу не робить (після апаратного скидання вони пасивні).
0lh -- висновок символу з регістра AL (без апаратних переривань). Активуються сигнали DTR і RTS, і після звільнення регістра THR у нього міститься виведений символ. Якщо за заданий час регістр не звільняється, фіксується помилка тайм-ауту і функція завершується.
02h -- уведення символу (без апаратних переривань). Активується тільки сигнал DTR (RTS переходить у пасивний стан), і очікується готовність прийнятих даних, прийнятий символ міститься в регістр AL. Якщо за заданий час дані не отримані, функція завершується з помилкою тайм-ауту.
03h -- опитування стану модему і лінії (читання регістрів MSR і LSR). Цю гарантовано швидку функцію звичайно викликають перед функціями введення/висновку щоб уникнути ризику чекання тайм-ауту.
У літературі, найчастіше, керування послідовним і паралельним портами описується на рівні регістрів цих портів, причому приклади програм приводяться мовою Assembler. Послідовний порт досить повільний пристрій, до того ж специфічний. Тому в програмах працюючих з портами використовуються переривання. Паралельний порт швидший, але теж повільний і не менш специфічний. Узяти хоча б можливість цього порту працювати в двох напрямках.
З послідовними і паралельними портами в Win32 працюють як з файлами, проте для правильного функціонування необхідно заповнити певні структури, які задають параметри роботи портів. Працюючи з портами починати треба з його відкриття як файлу. Для цього необхідно використовувати стандартні функції роботи з файлами open і fopen. При цьому необхідно скористатися функцією CreateFile. Ця функція описана у Win32 API. Її прототип виглядає так:
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
Функція має багато параметрів. Розглянемо короткий опис параметрів даної функції: lpFileName
Вказівник на рядок з ім'ям, що відкривається або створюваного файлу. Формат цього рядка може бути дуже складним. Зокрема можна вказувати мережеві імена для доступу до файлів на інших комп'ютерах. Можна відкривати логічні розділи або фізичні диски і працювати в обхід файлової системи. Послідовні порти мають імена "COM1", "COM2", "COM3", "COM4". Паралельні порти називаються "LPT1", "LPT2" і так далі. Необхідно врахувати, що якщо до порту СОМ1 підключена миша, Windows не дасть відкрити цей порт. Аналогічно не вдасться відкрити LPT1 якщо підключено принтер.
dwDesiredAccess Задає тип доступу до файлу. Можливе використання наступних значень:
0- Опитування атрибутів пристрою без одержання доступу до нього.
GENERIC_READ - Файл буде зчитуватися.
GENERIC_WRITE - Файл буде записуватися.
GENERIC_READ|GENERIC_WRITE- Файл буде і зчитуватися і записуватися.
Задає параметри спільного доступу до файлу. Комунікаційні порти не можна робити роздільними, тому даний параметр повинний дорівнювати 0.
Задає атрибути захисту файлу. Підтримується тільки в Windows NT. Однак при роботі з портами повинний у будь-якому випадку дорівнювати NULL.
Для комунікаційних портів даний параметр завжди повинен задаватися як OPEN_EXISTING.
Задає атрибути створюваного файлу. Так само керує різними режимами обробки. Для наших цілей цей параметр повинний бути або рівним 0, або FILE_FLAG_OVERLAPPED. Нульове значення використовується при синхронній роботі з портом, а FILE_FLAG_OVERLAPPED при асинхронної, або іншими словами, при фоновій обробці введення/виведення.
Задає описувач файлу-шаблона. При роботі з портами завжди повинний дорівнювати NULL.
При успішному відкритті файлу, у нашому випадку порту, функція повертає описувач (HANDLE) файлу. При помилці INVALID_HANDLE_VALUE.
Відкритий порт повинний бути закритий перед завершенням роботи програми. У Win32 закриття об'єкта по його описувача виконує функція CloseHandle:
Функція має єдиний параметр - описувач об'єкта, що закривається. При успішному завершенні функція повертає не нульове значення, при помилці нуль.
Відкривши порт ми отримуємо його у своє розпорядження. Тепер з портом може працювати тільки наша програма. Однак, перш ніж займатися введенням/виведенням, ми повинні настроїти порт. Це стосується тільки послідовних портів, для яких необхідно задати швидкість обміну, параметри парності, формат даних та інше. Крім того існує трохи специфічних для Windows параметрів. Мова йде про тайм-аути, що дозволяють контролювати як інтервал між прийнятими байтами, так і загальний час прийому повідомлення.
Основні параметри послідовного порту описуються структурою DCB. Тимчасові параметри структурою COMMTIMEOUTS. Настроювання порту полягає в заповненні керуючих структур і наступному виклику функцій настроювання.
Основну інформацію містить структура 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
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
Якщо уважно придивитися, то можна помітити, що ця структура містить майже всю керуючу інформацію, що у реальності розташовується в різних регістрах послідовного порту. Тепер розберемося, що означає кожне з полів найважливішої структури: DCBlength
Задає довжину, у байтах, структури DCB. Використовується для контролю коректності структури при передачі її адреси у функції настроювання порту.
BaudRate Швидкість передачі даних. Можлива вказівка наступних констант: CBR_110, CBR_300, CBR_600, CBR_1200, CBR_2400, CBR_4800, CBR_9600, CBR_14400, CBR_19200, CBR_38400, CBR_56000, CBR_57600, CBR_115200, CBR_128000, CBR_256000. Як видно, ці константи відповідають усім стандартним швидкостям обміну. Насправді, це поле містить числове значення швидкості передачі, а константи просто є символічними іменами. Тому можна вказувати, наприклад, і CBR_9600, і просто 9600. Однак рекомендується вказувати символічні константи.
Включає двійковий режим обміну. Win32 не підтримує недвійковий режим, тому дане поле завжди повинне бути дорівнює 1, або логічній константі TRUE. У Windows 3.1, якщо це поле було дорівнює FALSE, включається текстовий режим обміну. У цьому режимі символ, що надійшов на вхід порту, заданий полем EofChar свідчив про кінець прийнятих даних.
Включає режим контролю парності. Якщо це поле дорівнює TRUE, то виконується перевірка парності, при помилці у програму, видається відповідний код завершення.
Включає режим спостереження за сигналом CTS. Якщо це поле дорівнює TRUE і сигнал CTS скинутий, передача даних припиняється до установки сигналу CTS. Це дозволяє підключеному до комп'ютера приладу призупинити потік передачі в нього інформації, якщо він не встигає її обробляти.
Включає режим спостереження за сигналом DSR. Якщо це поле дорівнює TRUE і сигнал DSR скинутий, передача даних припиняється до установки сигналу DSR.
Задає режим керування обміном для сигналу DTR. Це поле може приймати наступні значення:
DTR_CONTROL_DISABLE - Забороняє використання лінії DTR
DTR_CONTROL_ENABLE - Дозволяє використання лінії DTR
DTR_CONTROL_HANDSHAKE - Дозволяє використання рукостискання для виходу з помилкових ситуацій. Цей режим використовується, зокрема, модемами при відновленні в ситуації втрати зв'язку.
Задає чутливість комунікаційного драйвера до стану лінії DSR. Якщо це поле дорівнює TRUE, то всі прийняті дані ігноруються драйвером (комунікаційний драйвер розташований в операційній системі), за винятком тих, котрі приймаються при установленом сигналі DSR.
Задає, чи припиняється передача при переповненні буфера прийому і передачі драйвером символу XoffChar. Якщо це поле дорівнює TRUE, то передача продовжується, незважаючи на те, що буфер прийому містить більш XoffLim символів і близький до переповнення, а драйвер передав символ XoffChar для призупинення потоку прийнятих даних. Якщо поле дорівнює FALSE, то передача не буде продовжена доти, поки в буфері прийомуне залишиться менше XonLim символів і драйвер не передасть символ XonChar для поновлення потоку прийнятих даних. У такий спосіб це поле вводить якусь залежність між керуванням вхідним і вихідним потоками інформації.
Задає використання XON/XOFF керування потоком при передачі. Якщо це поле дорівнює TRUE, то передача зупиняється при прийомі символу XoffChar, і відновляється при прийомі символу XonChar.
Задає використання XON/XOFF керування потоком при прийомі. Якщо це поле дорівнює TRUE, то драйвер передає символ XoffChar, коли в буфері прийому знаходиться більш ніж XoffLim і XonChar, коли в буфері залишається менш XonLim символів.
Вказує на необхідність заміни символів з помилкою парності на символ, що задається полем ErrorChar. Якщо це поле дорівнює TRUE, і поле fParity дорівнює TRUE, то виконується заміна.
Визначає дія, яка виконується при прийомі нульового байта. Якщо це поле TRUE, то нульові байти відкидаються при передачі.
Задає режим керування потоком для сигналу RTS. Якщо це поле дорівнює 0, то за замовчуванням мається на увазі RTS_CONTROL_HANDSHAKE. Поле може приймати одне з наступних значень:
RTS_CONTROL_DISABLE - Забороняє використання лінії RTS
RTS_CONTROL_ENABLE - Дозволяє використання лінії RTS
RTS_CONTROL_HANDSHAKE - Дозволяє використання RTS рукостискання. Драйвер встановлює сигнал RTS коли прийомний буфер заповнений менш, ніж на половину, і скидає, коли буфер заповнюється більш ніж на три чверті.
RTS_CONTROL_TOGGLE - Задає, що сигнал RTS встановлений, коли є дані для передачі. Коли всі символи з буфера передані, сигнал скидається.
Задає ігнорування всіх операцій читання/запису при виникненні помилки. Якщо це поле дорівнює TRUE, драйвер припиняє всі операції читання/запису для порту при виникненні помилки. Продовжувати працювати з портом можна буде тільки після усунення причини помилки і виклику функції ClearCommError.
Зарезервовано і не використовується.
Не використовується і повино бути встановлене в 0.
Задає мінімальне число символів в буфері прийому перед посилкою символу XON.
Визначає максимальну кількість байт у буфері прийому перед посилкою символу XOFF. Максимально припустима кількість байт у буфері обчислюється вирахуванням даного значення з розміру применого буфера в байтах.
Визначає число інформаційних біт у переданих і прийнятих байтах.
Визначає вибір схеми контролю парності. Дане поле повинне містити одне з наступних значень:
Задає кількість стопових біт. Поле може приймати наступні значення:
ONE5STOPBIT - Півтора стоповых біта
Задає символ XON, який використовується як для примйому, так і для передачі.
Задає символ XOFF, який використовується як для прийому, так і для передачі.
Задає символ, що використовується для заміни символів з помилковою парністю.
Задає символ, що використовується для сигналізації про кінець даних.
Задає символ, що використовується для сигналізації про подію.
Зарезервовано і не використовується.
Так, як поля структури DCB використовуються для конфигурування мікросхем портів, то на них накладаються певні обмеження. Розмір байта повинний бути 5, 6, 7 або 8 біт. Комбінація з п'яти бітного байта і двох стопових біт є неприпустимою. Так само як і комбінація із шести, семи або восьми бітного байта і півтора стопових біт.
Розглянута нами структура DCB найбільша з усіх, що використовуються для настроювання послідовних портів. Але вона і найважливіша. Заповнення всіх полів цієї структури може викликати ускладнення, тому що треба дуже чітко представляти як працює послідовний порт. Тому ручну установку полів можна порекомендувати досвідченим програмістам. Якщо ж Ви почуваєте себе не дуже упевнене, скористайтеся функцією BuildCommDCB, що дозволяє заповнити поля структури DCB на основі рядка, по синтаксисі аналогічному рядкові команди mode
3.1 Вибір інструментальних засобів розробки програми
Найважливішим питанням, перед створенням - вибір інструментальних засобів, за допомогою яких буде реалізована програма.
В цьому напрямку потрібно розглянути наступні засоби:
Засоби низького рівня. Їх характеризує висока швидкодія, можливість написання коду програми на низькому рівні. До недоліків можна віднести відносну непрозорість коду, ускладнення самого кодування, яке вимагає створення програми, яка б працювала в захищеному режимі, що відповідно збільшує саму складність розробки даної програми, а також багато ручної роботи. Прикладами можуть бути Assembler та інші мови низького програмування.
RAD-засоби. RAD (Rapid Application Development - Швидка Розробка Додатків)-засоби характеризуються легкістю супроводу, високою швидкістю створення додатків, гнучкістю, великою кількістю компонент для проектування, прозорістю програмного коду. До таких засобів відносяться Delphi, C++ Builder, Jbuilder, VisualBasic і т.д.;
HTML-технології та застосування мов написання сценаріїв - Perl, JavaScript, VBScript. Очевидним недоліком є неможливість роботи даних систем з апаратурою ЕОМ тому, що вони, як правило, є апаратно незалежними від неї і покладають все на ОС.
З вище сказаного слідує, що перевагу слід надати RAD-засобам. Додатки, що написані з їх допомогою, можна легко масштабувати, вони мають достатню універсальність. Вибір засобів програмування звузився до вибору Delphi чи C++ Builder, оскільки вони є найбільш близькими до синтаксису відповідних мов Pascal та C++. Оскільки для мене більш звично програмувати на мові Pascal, то мій вибір зупинився на Delphi. Проте великих розбіжностей між Delphi чи C++ Builder немає.
Усі компоненти, форми і модулі даних, працюють у Delphi та C++Builder для Windows без будь-яких змін. Delphi залишається найлегшою у використанні і самою продуктивною RAD-системою. C++Builder ідеально підійде тим розробникам, що надають перевагу програмуванню мовою C++, і хочуть зберегти продуктивність Delphi. Унікальний взаємозв'язок цих систем
Візуальний облік вхідних даних інтерфейсу RS-232 дипломная работа. Программирование, компьютеры и кибернетика.
Сочинение: Фантастическое и реалистическое в произведениях М.А. Булгакова
Реферат: Психологическая сущность юношеского возраста
Дипломная работа: Магическое в романе М. Булгакова "Мастер и Маргарита". Скачать бесплатно и без регистрации
Реферат по теме Биографические сведения М. О. Косвен
Контрольная работа: Формирование мотивации учебной деятельности с задержкой психического развития
Реферат: Мария Складовская-Кюри
Реферат по теме Гуманізація праці як основа мотивації
Сигареты Эссе С Кнопкой Вкусы
Реферат: Starfish Essay Research Paper The asteroid more
Реферат по теме Производство по уголовным делам в отношении отдельных категорий лиц
Курсовая работа по теме Дзіцячы фальклор
Реферат по теме Балансы международных расчетов
Курсовая работа: Рыночная стоимость бизнес-линии предприятия хлебопекарной отрасли
Требования Вак К Кандидатской Диссертации 2022
Реферат: Махмуд Асгари и Айаз Мархони
Дипломная работа: Народная педагогика в практике семейного воспитания
Белинский Сочинения В 13 Томах
Сочинение По Картине Летняя Аллея Осенью
Эссе Обновленное Образование В Действии
Витамины Для Беременных Реферат
Инфраструктура потребительского рынка Саратовской области. Проблемы и инновации - Маркетинг, реклама и торговля дипломная работа
Вещное право - Государство и право презентация
Аннотация и тезисы к статье Р.Г. Пиотровского и В.А. Чижаковского "О двуязычной ситуации" - Иностранные языки и языкознание краткое изложение


Report Page