Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Розробка комп'ютерного вимірювального комплексу вагона-лабораторії залізничної автоматики, телемеханіки та зв'язку

Реферат Розробка комп'ютерного вимірювального комплексу вагона-лабораторії залізничної автоматики, телемеханіки та зв'язку





ування внутрішніх регістрів адаптера. При передачі він очікує моменту виникнення сигналу СTS (Clear To Send), а при прийомі - моменту настання події «Готовність байта даних». Програмне забезпечення для обміну в цьому випадку набагато простіше, але відсутня можливість виконання інших програм. Справа в тому, що момент «Готовність байта даних» не можна залишити в очікуванні обслуговування (читання регістра даних), так як прийнятий байт може бути перевизначений наступним байтом.

У розробляється програмному забезпеченні використовується другий спосіб - послідовне опитування. При цьому проблема відсутності при цьому можливості виконання інших програм вирішується елементарно за допомогою багатозадачною концепції операційної системи Windows. За отримання послідовності байт інформації з апаратури Контроль відповідає додаткова запускається нитка (процес), яка працює з не дуже високим пріоритетом і здійснює постійний послідовний опитування COM-порту. У разі виявлення події «Готовність байта даних», ця нитка записує прийнятий байт у внутрішній буфер і після закінчення прийому всієї послідовності, що складається, як було сказано раніше, з 32 байт, здійснює виклик функції розкодування прийнятої послідовності.

Для створення додаткової нитки використовується абстрактний клас Tthread, який дозволяє створювати окремі нитки виконання у додатку. У розробляється програмному забезпеченні створюється клас, похідний від Tthread - SerialLink:


class SerialLink: public Tthread

{:: __fastcall Execute ();:

__fastcall SerialLink (bool CreateSuspended); __fastcall DecodePacket (void);

};


У конструкторі отриманого класу проводиться встановлення пріоритету додаткової нитки:


__fastcall SerialLink :: SerialLink (bool CreateSuspended)

: Tthread (CreateSuspended)

{= true;=tpIdle;

}


У методі класу SerialLink - успадкованої від Tthread функції Execute () відбувається відкриття, початкова ініціалізація і установка таймаутів послідовного порту COM1. Для відкриття використовується функція CreateFile:

HANDLE hCom; BOOL fSuccess; hCom=CreateFile («COM1», / / ??порт COM1 GENERIC_READ, / / ??на читання 0, / * пристрої зв'язку повинні бути відкриті з ексклюзивним доступом * / NULL, / * без атрибутів безпеки * / OPEN_EXISTING, / * пристрої зв'язку повинні використовувати OPEN_EXISTING * / 0, / * без пересеченного введення-виведення * / NULL / * параметр hTemplate повинен бути NULL для пристроїв зв'язку * /);

Початкова ініціалізація COM-порту відбувається відповідно з параметрами вихідних сигналів апаратури Контроль. Для ініціалізації використовуються функції GetCommState і SetCommState:

fSuccess=GetCommState (hCom, & dcb);/* Заповнюємо структуру DCB:

швидкість=9600,

бітів даних,

без контролю парності,

стоп-біта. * / Dcb.BaudRate=9600; dcb.ByteSize=8; dcb.Parity=NOPARITY; dcb.StopBits=TWOSTOPBITS; fSuccess=SetCommState (hCom, & dcb);

Установка таймаутів проводиться за допомогою функцій GetCommTimeouts і SetCommTimeouts: <...


Назад | сторінка 26 з 56 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Супутникові системи телефонного зв'язку та передачі даних
  • Реферат на тему: Спостереження за передачею даних в мережі організації за допомогою засобів ...
  • Реферат на тему: Надійність пристроїв залізничної автоматики, телемеханіки та зв'язку
  • Реферат на тему: Мікропроцесорні пристрої автоматики, телемеханіки та зв'язку
  • Реферат на тему: Створення бази даних &Оператор стільникового зв'язку&