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

Реферат Створення вимірювального апаратно-програмного комплексу термометра на основі мікроконтролерів сім ...





а деякий час встановлює на 1-провідний шині вищий рівень. Вид цієї послідовності повністю відповідає необхідному увазі тимчасового інтервалу передачі біта, за винятком того, що обмін є повільнішим, ніж здатна забезпечити 1-провідна шина: на один біт витрачається приблизно 87 мкс. p> Прийом з боку передавача послідовного порту нічим не відрізняється від передачі одиничного біта. Проаналізувавши прийнятий послідовним портом символ можна встановити, який біт передав термометр. У разі нульового біта один або кілька бітів прийнятого портом байта будуть одиничними (з урахуванням інверсії адаптера). p> Для роботи з COM-портом програма користується функціями API через спеціальну В«обгортковийВ» динамічну бібліотеку comapi32.dll. Однак швидкість обміну виходить набагато нижче розрахункової через те, що перемикання швидкості COM-порту (виклик функції SetCommState із зміненим значенням поля BaudRate структури DCB) йде дивно довго (близько 200 мілісекунд!). Це вельми неприємну властивість API. p> Програма DS1820.zip разом з вихідним текстом на Delphi +5 source20.zip поширюється безкоштовно. p> При використанні термометра необхідно враховувати, що корпус DS18S20 зроблений з матеріалу з щодо поганою теплопровідністю. Тому витік тепла через висновки і підключені до них проводи може бути вельми відчутною. Для зменшення помилки вимірювання слід використовувати проводи малого перетину. p> Крім вимірювання температури компонентів всередині корпусу комп'ютера, цей термометр можна використовувати і для інших цілей, наприклад, як кімнатний або як зовнішній термометр.

3) Робота з COM-портом в середовищі ОС Windows:

Питання В«як працювати з COM-портами? В»став класичним на багатьох конференціях з мов програмування. Рано чи пізно трохи не кожному програмістові доводиться працювати з портами введення/виводу. Сьогодні я хочу розповісти про роботу з послідовним портом-під найпоширенішою на сьогоднішній день 32-розрядної операційної системи - Windows. До статті додається приклад програми, що працює з COM-портом, написаної на Borland Delphi 7. p> Стаття побудована за принципом В«від простого до складногоВ». Спочатку будуть викладені основи роботи з портами з-під Win32 з описом необхідних функцій. Потім розглянемо застосування цих функцій на прикладі Delphi-програми. Кінцевим результатом буде клас, призначений для роботи з COM-портом, і приклад використовує його програми. p> Дуже часто програмісту доводиться управляти за допомогою комп'ютера яким зовнішнім пристроєм, або просто аналізувати стан цього пристрою. Порти вводу/виводу - найпоширеніший спосіб сполучення комп'ютера і зовнішнього пристрою. Давним-давно вже написано безліч класів, бібліотек і компонент для роботи з портами, тому можна, звичайно, скористатися вже готовим і до того ж безкоштовним рішенням. Саме так я і вчинив років сім тому, при цьому втративши найголовніше - своєчасне розуміння того, як все-таки працювати з портами з-під Win32. Незнання внутрішніх механізмів - це, по-перше, прогалину в стрункому ряду знань, а по-друге, актуальна можливість помилок у роботі програми. p> З портами з-під Win32 працюють так само, як і зі звичайними файлами, використовуючи при цьому всього кілька специфічних функцій WinAPI. Однак комунікаційний порт - це не зовсім звичайний файл. Для нього, наприклад, не можна виконати позиціонування файлового покажчика, або ж створити порт, якщо такий відсутній. Будь-яка робота з портом починається з його відкриття. Для цього використовується файлова функція WinAPI (описи WinAPI-функцій взяті з MSDN (Microsoft Developer Network), отже, наводяться в синтаксисі C):

HANDLE CreateFile (

LPCTSTR lpFileName,

DWORD dwDesiredAccess,

DWORD dwShareMode,

LPSECURITY_ATTRIBUTES lpSecurityAttributes,

DWORD dwCreationDistribution,

DWORD dwFlagsAndAttributes,

HANDLE hTemplateFile

);

lpFileName - покажчик на рядок з нульовим завершальним символом. Зазвичай це ім'я відкриваємого файлу, але в нашому випадку це має бути назва порту (COM1, COM2, ...). p> dwDesiredAccess - тип доступу. У нашому випадку повинен бути рівний GENERIC_READ | GENERIC_WRITE. p> dwShareMode - параметр спільного доступу. Для комунікаційних портів завжди дорівнює 0. p> lpSecurityAttributes - Атрибут захисту. Для комунікаційних портів завжди дорівнює NULL. p> dwCreationDistribution - Режим автосозданіе. Для комунікаційних портів завжди дорівнює OPEN_EXESTING. p> dwFlagsAndAttributes - Атрибут режиму обробки. Для комунікаційних портів повинен бути рівний 0 або FILE_FLAG_OVERLAPPED. p> hTemplateFile - описувач файл а-шаблону. Для комунікаційних портів повинен бути рівний NULL. p> При успішному відкритті порту функція повертає його описувач, а в разі помилки повертає INVALID_HANDLE_VALUE. p> Відразу обмовлюся: всі відсутні опису можна знайти на З усіх параметрів фу...


Назад | сторінка 6 з 9 | Наступна сторінка





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

  • Реферат на тему: Розробка контролера управління послідовним портом
  • Реферат на тему: Учитель XXI століття. Яким він повинен бути ...
  • Реферат на тему: Опісові композіційно-мовленнєві форми в творах Т. Прохаська &З цього можна ...
  • Реферат на тему: Мова SMS - що це таке. Бути чи не бути йому в нашому житті
  • Реферат на тему: Коли працювати можна менше ...