Як програмувати usb

Будь-який програміст, який хоче копнути трохи глибше і розібратися з програмуванням "заліза", рано чи пізно стикається з завданням програмування USB. Цей інтерфейс сьогодні користується заслуженою популярністю.
Через USB давно вже підключають клавіатури, миші, принтери, сканери та інші пристрої.
Однак це не всі можливості USB. Наприклад, багато розробників захищають свої програми за допомогою апаратних ключів USB. Апаратний ключ - це якийсь пристрій, яке зовні схоже на флешку. Цей ключ підключається до USB-порту. Програма може працювати тільки в тому випадку, якщо вона виявила "свій" USB-ключ. Таким чином виконується захист від піратського копіювання.
Крім того, через USB підключаються багато нестандартні пристрої. Наприклад, для програмування (це можуть бути програматори мікроконтролерів, ПЛК, різні прилади автоматизації тощо).
Загалом, використання USB-пристроїв обмежена тільки вашою фантазією.
Втім, не тільки цим. Є ще одне обмеження - це практично повна відсутність інформації про програмування USB. В Інтернеті можна знайти, мабуть, тільки призначення висновків роз'єму USB і найзагальніші опису.
А ось як влаштований сам інтерфейс, чим він відрізняється від інших інтерфейсів, як його програмувати і т.п. - про це інформації практично немає.
Однак не все так погано, тому що є чудова книга, яка розповість вам не тільки про те, як програмувати USB, але і на конкретному прикладі опише процес створення реального USB-пристрої. Ось лише деякі теми, які описані в книзі:
- Що таке USB
- Принципи передачі даних
- Апаратне забезпечення USB
- Внутрішня організація USB
- Формати пакетів даних
- Інтерфейс USB поза комп'ютера
- Як програмувати USB
- Підтримка USB в Windows
- Що таке HID-пристрої
- Що таке WDM і як створювати USB-драйвери
- Специфікація PnP для USB
- Як отримати список USB-пристроїв
- Функції BIOS для роботи з USB
- Як створити USB-пристрій на основі мікроконтролера
- Які мікросхеми використовуються для роботи з USB
- Які функції Windows використовуються для програмування USB
- Засоби розробки для програмування USB
- І багато іншого…
Загалом, якщо ви мрієте розібратися з усім комп'ютерним "залізом" і вийти на такий професійний рівень, на якому для вас не буде нерозв'язних завдань, то ця книга обов'язково повинна бути у вашій бібліотеці!
