Witam,
Zbudowałem kontroler do gier USB klasy HID. Gdy przyszedł czas na jego oprogramowanie, znalazłem podobny projekt w którym znalazłem taki oto kod:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Jak rozumiem, pierwszy fragment realizuje transmisje kontrolną, natomiast drugi przerwaniową. Wiem że każde urządzenie musi posiadać zaimplementowany transfer kontrolny, ale jak to się dzieje w tym programie, urządzenie wysyła dane za pomocą transferu przerwaniowego a nie kontrolnego (bo taka możliwość rozumiem też jest możliwa)? Funcka usbFunctionSetup jest wywoływana gdy komputer wysyła żądania i w zależności od żądania wykonywany jest któryś z "case". Jednym z nich jest rozkaz USBRQ_HID_GET_REPORT gdzie jeśli dobrze widzę wysyłane są do komputera dane. hid_report to struktura w której zawarte są dane o przyciskach i joysticka'ch w kontrolerze.
Czy ktoś jest w stanie mi to wytłumaczyć?
