USB. Praktyczne programowanie z Windows API w C++ - Helion
ISBN: 978-83-246-5495-6
stron: 280, Format: ebook
Data wydania: 2012-06-12
Księgarnia: Helion
Cena książki: 29,25 zł (poprzednio: 39,00 zł)
Oszczędzasz: 25% (-9,75 zł)
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!
Spis treści
USB. Praktyczne programowanie z Windows API w C++ eBook -- spis treści
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)