
- •Збірник лабораторних робіт
- •Пояснювальна записка
- •Інструкція з техніки безпеки та правил поведінки в комп'ютерному класі
- •Комплекс вправ для очей
- •Комплекс вправ для поліпшення мозкового кровообігу
- •Лабораторна робота №1
- •Вказівки до звіту
- •Лабораторна робота №2
- •Лабораторна робота №3
- •Вказівки до звіту
- •Вказівки до звіту
- •Лабораторна робота №5
- •Вказівки до звіту
- •Ntfs є досить складною системою, тому, на відміну від fat16 і fat32, маються й інші фактори, що можуть привести до істотного уповільнення роботи ntfs:
- •Ntfs - плюси:
- •Ntfs - мінуси:
- •Вказівки до звіту
- •Лабораторна робота №7
- •Вказівки до звіту
- •"Робота з регістрами cmos-memory"
- •Вказівки до звіту
- •Лабораторна робота №9
- •Вказівки до звіту
- •Лабораторна робота №10
- •Вказівки до звіту
- •Лабораторна робота №11
- •Вказівки до звіту
- •Лабораторна робота №12
- •Вказівки до звіту
- •Проблеми, зв'язані з блоками живлення
- •Вказівки до звіту
- •Лабораторна робота №14
- •Вказівки до звіту
Лабораторна робота №12
Тема: «Підключення периферійних пристроїв до універсального порту USB»
Мета роботи: Розробити бібліотеку й додаток для взаємодії з периферійними пристроями по інтерфейсу USB. Набути вмінь і навиків при конфігуруванні параметрів USB портів.
Матеріальне забезпечення занять
1. Типове робоче місце: персональний комп’ютер.
2. Оболонки програмування мовою Сі.
3. Лінк для USB-порта.
Короткі теоретичні відомості
Вхід
Для керування додатком пропонується використовувати ключі командного рядка:
/ls – одержання списку пристроїв.
/els – одержання списку пристроїв, а також їх детальний опис.
/i:<device index> - одержання детальної інформації про конкретний пристрій, індекс якого зазначений.
/e:<device index> - підготовка до добування пристрою, індекс якого зазначений.
/o:<filename> - ім'я файлу звіту, куди виводиться список пристроїв і інформація про них. Якщо ім'я файлу не зазначене, то вивід проводиться на консоль.
/? - вивід інформації про припустимі ключі командного рядка.
Приклад
Проводиться перерахування всіх USB пристроїв, підключених до обчислювальної
системі, у файл звіту report.txt.
C:/>usbinfo.exe /ls /o:report.txt
Проводиться перерахування всіх USB пристроїв, а також видається повна інформація про них, підключені до обчислювальної системи, у файл звіту report.txt.
C:/>usbinfo.exe /els /o:report.txt
Вивід
По кожному USB пристрою слід виводити наступну інформацію у вигляді списку, у дужках наведені приклади значень перерахованих полів:
Volume Name (\\?\Volume{6dd35872-37a1-11dd-8f5b-0019d2344ab9}\)
Logical Drive (H:)
Is USB (True)
Disks
o Capability (Uniqueid)
o Class (Diskdrive)
o Class Guid ({4D36E967-E325-11CE-BFC1-08002BE10318})
o Description (Дисковий накопичувач)
o Friendly Name (Jetflash TS4GJFV30 USB Device)
o Index (1)
o Instance Handle (3300)
o Is USB (True)
o Parent (інформація про батьківський USB пристрої, виводиться вся
інформація у вигляді дерева, за аналогією поточної галузей)
o Path
(\\?\usbstor#disk&ven_jetflash&prod_ts4gjfv30&rev_8.07#b5fgkjmu&0#{53f
56307-b6bf-11d0-94f2-00a0c91efb8b})
o Removable Devices (інформація про батьківський USB, що витягає
пристрої, виводиться вся інформація у вигляді дерева, за аналогією
поточної галузей)
Index (2)
Path (\\?\storage#removablemedia#7&278a5df&0&rm#{53f5630d-b6bf-11d0-94f2-
00a0c91efb8b})
Instance Handle (3220)
Class (Volume)
Class Guid ({71A27CDD-812A-11D0-BEC7-08002BE2092F})
Description (Універсальний тому)
Friendly Name
Capabilities (…)
Допускається перенапрямок виводу консолі в текстовий файл, наприклад:
C:/>usbinfo.exe /els >report.txt
Вимоги
Архітектура додатка будується по модульному принципу.
За основу ухвалюється стандартна бібліотека С++ (у випадку розробки на C++).
Рекомендується використовувати захищені ресурси й покажчики.
Обов'язковим є обробка виключень.
Вихідний код зобов'язано бути коментований. Для C# слід використовувати нотацію Microsoft, для C++ слід використовувати нотацію doxygen.
Методичні вказівки для самостійної роботи
При підготовці до лабораторної роботи необхідно:
Ознайомитися з поняттями введення-виводу в ОС.
Ознайомитися з особливостями керування пам'яттю засобами C/C++/C#.
Наприклад:
o std::cin, std::out.
o read, write.
Ознайомитися з особливостями введення-виводу засобами Microsoft Windows:
o Createfile/Closehandle.
o Deviceiocontrol.
Алгоритм
Дане завдання слід розв'язати декількома способами.
Перший підхід, який реалізує поставлене завдання, описаний нижче.
1. Розбір ключів командного рядка.
2. Одержання інформації про пристрій.
3. Вивід інформації на консоль або у файл.
Тестування
Тестування додатка здійснюється в кілька етапів:
Розробка Unit Test у рамках проекту. Даний підхід дозволить перевірити
коректність реалізації алгоритму.
Завдання для попередньої підготовки.
1. Ознайомитися з поняттями введення-виводу в ОС.
2. Ознайомитися з особливостями введення-виводу засобами C/C++/C#.
3. Ознайомитися з особливостями введення-виводу засобами Microsoft Windows:
Одержання інформації про пристрій.
Безпечне видалення пристрою з ОС.
4. Опрацювати контрольні запитання.
5. Розробити консольний додаток для одержання інформації про всі USB пристроях в ОС.
6. Оформити функціональну специфікацію на додаток. У функціональній специфікації обов'язково вказати, яким чином проводиться тестування на коректність.
7. Оформити звіт до лабораторної роботи.
Хід роботи.
1. Ознайомитися з універсальним інтерфейсом USB.
2. З’єднати два комп’ютера за допомогою лінків для USB-портів (FT232,FT245).
3. Виконати обмін даними у різних напрямках.
4. Визначити швидкість передавання даних.
Контрольні запитання
1. Які переваги забезпечують популярність порту USB?
2. Як збільшити число USB роз’ємів?
3. Організація шини USB.
4. Моделі й протокол передачі даних в інтерфейсі USB.
Обробка результатів
1. За результатами роботи оформити звіт.
2. Надати скріншот виконання програми.
3. Результати обчислення швидкості передавання даних.