Szczegóły ebooka

USB. Praktyczne programowanie z Windows API w C++

USB. Praktyczne programowanie z Windows API w C++

Andrzej Daniluk

Ebook
Dowiedz się więcej o działaniu USB i poznaj metody programowania transmisji danych
  • W jaki sposób odbywa się transfer danych?
  • Jak odblokować urządzenia do transmisji?
  • Na czym polega programowanie obiektowe transmisji USB?

USB (skrót od ang. Universal Serial Bus -- uniwersalna magistrala szeregowa) to rodzaj bardzo praktycznego portu komunikacyjnego, dzięki któremu możliwe jest podłączanie do komputera wielu różnych urządzeń, takich jak mysz, kamera, aparat fotograficzny, telefon komórkowy, modem, skaner, przenośna pamięć. Podłączone w ten sposób urządzenia są od razu wykrywane i rozpoznawane przez system, dzięki czemu instalacja sterowników i konfiguracja sprzętu odbywają się zwykle automatycznie.

Książka "USB. Praktyczne programowanie z Windows API w C++" w zwięzły sposób przedstawia wszelkie zagadnienia, dotyczące użytkowania i programowania transmisji USB. Korzystając z tego podręcznika, poznasz nie tylko teoretyczne podstawy działania USB, ale także zdobędziesz praktyczne umiejętności w tym zakresie. Książka zawiera bowiem zarówno konkretne przykłady, jak i ćwiczenia do samodzielnego wykonania dla wszystkich, którzy chcą zyskać wiedzę na zaawansowanym poziomie. Dowiesz się między innymi, jakie są rodzaje transferów danych i transakcji USB, za co odpowiadają komponenty i jak wykorzystać wzorce projektowe. Zrozumiesz także metody projektowania obiektowego oraz implementacji oprogramowania sterującego łączem USB.

  • Środowisko fizyczne i sygnałowe USB
  • Klasy instalacji urządzeń
  • Rejestr systemowy
  • Transmisja danych
  • Struktura systemu USB
  • Detekcja i identyfikacja urządzeń
  • Odczyt i zapis danych w formie raportu
  • Programowanie obiektowe transmisji USB
  • Wewnętrzne struktury danych
  • Programy wielowątkowe
  • Konwertery USB

Tu znajdziesz wszystko o działaniu USB i możliwościach jego wykorzystania!

Rozdział 1. Standard USB (7)

  • Środowisko fizyczne i sygnałowe USB (9)
    • USB OTG (10)
  • Ramki i mikroramki (11)
  • Transfery danych (11)
  • Transakcje USB (13)
  • Pakiety danych (14)
  • Podsumowanie (15)

Rozdział 2. Informacje o urządzeniach (17)

  • Identyfikatory urządzenia (17)
    • Identyfikatory sprzętu (18)
    • Identyfikatory kompatybilności (18)
    • Ocena i selekcja pakietów sterowników (18)
  • Klasy instalacji urządzeń (18)
  • Menedżer urządzeń (19)
  • Rejestr systemowy (20)
    • Klucz tematyczny HKEY_LOCAL_MACHINE (22)
    • Podklucz tematyczny \Class (23)
    • Podklucz podklucza tematycznego \Class (24)
    • Identyfikatory GUID (25)
  • Pliki .inf (26)
  • Podsumowanie (27)

Rozdział 3. Wstęp do transmisji danych (29)

  • Struktura systemu USB (29)
    • Warstwa funkcjonalna (29)
    • Warstwa fizyczna (30)
    • Warstwa logiczna (31)
    • Potoki danych (32)
  • Urządzenia i deskryptory urządzeń USB (34)
  • Konfiguracje i deskryptory konfiguracji (37)
  • Interfejsy i deskryptory interfejsów urządzeń USB (39)
    • Interfejs ISoftHidUSBDevice (41)
  • Punkty końcowe i deskryptory punktu końcowego (42)
  • Komunikacja programu użytkownika z urządzeniem (43)
  • Deskryptor raportu (46)
    • Pozycje Collection i End Collection (47)
    • Rodzaje raportów (48)
    • Zawartość raportów (48)
    • Format danych (50)
    • Zakresy wartości danych (50)
    • Jednostki miar (50)
  • Podstawowe funkcje (50)
    • Funkcje rodziny HidD_Xxx() (51)
    • Funkcje rodziny HidP_Xxx() (58)
  • Biblioteka HID.DLL (77)
  • Struktura URB (79)
    • Funkcja UsbBuildGetDescriptorRequest() (85)
  • Podsumowanie (85)

Rozdział 4. Detekcja i identyfikacja urządzeń dołączonych do magistrali USB (87)

  • Podstawowe zasoby systemowe (89)
    • Funkcja SetupDiGetClassDevs() (89)
    • Funkcja SetupDiEnumDeviceInterfaces() (90)
    • Struktura SP_DEVINFO_DATA (90)
    • Struktura SP_DEVICE_INTERFACE_DATA (91)
    • Struktura SP_DEVICE_INTERFACE_DETAIL_DATA (92)
    • Funkcja SetupDiGetDeviceInterfaceDetail() (92)
    • Funkcja SetupDiDestroyDeviceInfoList() (93)
    • Detekcja interfejsów urządzeń (94)
    • Zliczanie interfejsów urządzeń (98)
  • Funkcja SetupDiGetDeviceRegistryProperty() (100)
  • Struktury danych (104)
  • Moduł usbiodef.h (108)
  • Biblioteka setupapi.dll (110)
  • Powiadamianie o dołączaniu i odłączaniu urządzeń (113)
  • Podsumowanie (118)

Rozdział 5. Odblokowanie urządzenia do transmisji. Odczyt i zapis danych (119)

  • Odblokowanie urządzenia do transmisji (119)
    • Funkcja CreateFile() (119)
    • Funkcja CloseHandle() (122)
    • Przykładowy program środowiska tekstowego (122)
  • Odczyt danych w formie raportu (127)
    • Funkcja ReadFile() (127)
    • Odczyt długości bufora danych (132)
    • Funkcja HidD_GetInputReport() (136)
    • Odczyt własności przycisków (137)
    • Odczyt własności wartości (142)
    • Aplikacja środowiska graficznego (147)
  • Zapis danych w formie raportu (152)
    • Funkcja WriteFile() (153)
    • Funkcje HidD_SetOutputReport() oraz HidD_SetFeature() (154)
  • Struktura OVERLAPPED (155)
    • Funkcje xxxEx (158)
  • Struktura COMMTIMEOUTS (161)
    • Funkcje GetCommTimeouts() i SetCommTimeouts() (162)
  • Funkcja DeviceIoControl() (163)
    • Rozkazy z modułu hidclass.h (169)
    • Rozkazy z modułu usbioctl.h (173)
  • Podsumowanie (173)

Rozdział 6. Programowanie obiektowe transmisji USB (175)

  • Obiektowość (175)
  • Wzorce projektowe (182)
    • Singelton (183)
  • Interfejsy (188)
    • Zliczanie odwołań do interfejsu (195)
    • Identyfikator interfejsu (196)
  • Komponenty (203)
  • Podsumowanie (207)
  • Ćwiczenia (207)

Rozdział 7. Wewnętrzne struktury danych (215)

  • Program proceduralny (216)
  • Program obiektowy (223)
  • Aplikacja środowiska graficznego (230)
  • Podsumowanie (240)
  • Ćwiczenia (240)

Rozdział 8. Programy wielowątkowe (243)

  • Wątki i procesy (243)
  • Funkcje CreateThread() (244)
  • Klasa TThread (253)
  • Podsumowanie (261)
  • Ćwiczenia (261)

Rozdział 9. Konwertery USB (263)

  • Konwertery USB/RS 232C (263)
    • Właściwości portu konwertera (264)
  • Konwertery USB/IEEE-488 (266)
  • Podsumowanie (267)

Literatura (269)

Skorowidz (271)

  • Tytuł: USB. Praktyczne programowanie z Windows API w C++
  • Autor: Andrzej Daniluk
  • ISBN: 978-83-246-5495-6, 9788324654956
  • Data wydania: 2012-06-12
  • Format: Ebook
  • Identyfikator pozycji: usbppr
  • Wydawca: Helion