USB poznámky
KodTriedyHID = HidD_GetHidGuid() Získa kód triedy HID
deviceInfoList = SetupDiGetClassDevs(KodTriedyHID) Načíta handle všetkých zariadení zvolenej triedy pripojenym k PC
SetupDiEnumDeviceInterfaces(deviceInfoList, &deviceInfo) Opakovaným volaním načítava postupne všetky zariadenia do "deviceInfo".
SetupDiGetDeviceInterfaceDetail(&deviceInfo, deviceDetails) Do štruktúry "deviceDetails" vloží cestu k načítanému zariadeniu ("DevicePath").
USBhandle = CreateFile(deviceDetails->DevicePath) Načíta handle zariadenia a otvorí ho.
HidD_GetAttributes(USBhandle, &deviceAttributes) Do štruktúry "deviceAttributes" načíta PID, VID a verziu otvoreného zariadenia.
HidD_GetManufacturerString(USBhandle, iManufactured) Do TXT poľa načíta zo zariadenia text o výrobcovi
HidD_GetProductString(USBhandle, iProduct) Do TXT poľa načíta zo zariadenia text o produkte
ReadFile(USBhandle, RXbufer) Do poľa "RXbufer" sú vložené čísla, ktoré zariadenie poslalo.
WriteFile(USBhandle, TXbufer) Z poľa "TXbufer" odošle do zariadenia čísla
======================================================================================================
UCFG,FSEN = 1 ;pull-up odpor na D+ tj. Full speed (12 Mbit/s)
UCFG,FSEN = 0 ;pull-up odpor na D- tj. Low speed (1.5 Mbit/s)
UCFG,UPUEN = 1 ;pripojenie zvoleného pull-up odporu k USB pinu
UCON, USBEN = 1 ;Zapnúť modul USB
UCON,PKTDIS == 1 ;Bol prijatý SETUP token paket. SIE je vtedy zablokovaná. Pre príjem ďalších paketov treba PKTDIS vynulovať.
UCON,SE0 == 1 ;Bola detekovaná NULA na zbernici (nulové napätie voči kostre)
UADDR,0-7 ;Adresa pre USB komunikáciu s PC (zadáva užívateľ)
BDnCNT,0-7 ;Dlzka endpointu "n" v bajtoch
BDnADRH:BDnADRL ;Adresa zaciatku pamäti endpointu "n"
BDnSTAT,DTS = 1 ;Posiela sa / prijíma dátový paket typu DAT0
BDnSTAT,DTS = 1 ;Posiela sa / prijíma dátový paket typu DAT1
BDnSTAT,DTSEN = 1 ;Povolenie synchronizacie striedania DAT0 a DAT1. Pakety s nesprávnou synchr. budú ignorované, okrem SETUP paketov.
BDnSTAT,BSTALL = 1 ;Odpoveď STALL paketom. Ak je prijatý token, bit UOWN zostáva nastavený, hodnota BD sa nemení.
BDnSTAT,UOWN = 1 ;Odovzdá endpoint n do vlastníctva jednotky SIE. Keď SIE vykoná prácu, UOWN spadne do 0.
BDnSTAT(out),2-5 ;PID, čiže ID token paketu (iba 4 bity, ďalšie 4 bity sú totiž negáciou prvých štyroch)
USTAT,DIR == 1 ; Posledná transakcia bola IN token
USTAT,DIR == 0 ; Posledná transakcia bola OUT token
USTAT,3-6 ; Číslo endpointu, ktorého sa týkala posledná transakcia
UEPn,EPINEN = 1 ; Zapnutie vstupného IN endpointu číslo "n" (IN z pohľadu PC)
UEPn,EPOUTEN = 1 ; Zapnutie výstupného OUT endpointu číslo "n" (OUT z pohľadu PC)
UEPn,EPCONDIS = 1 ; Zakázanie kontrolných transakcii (SETUP paketov) pre endpoint číslo "n"
UEPn,EPHSHK = 1 ; Zapnutie handshake paketov (ACK, NAK, STALL) pre endpoint číslo "n"
UEPn,EPSTALL = 1 ; Pozastavenie endpointu číslo "n"
INTCON,GIE = 1 ;Povolenie prerušení
INTCON,PEIE = 1 ;Povolenie prerušení od periférii
PIE2,USBIE = 1 ;Povolenie prerušení od USB portu
UIE,URSTIE = 1 ;Povolenie prerušení od stavu RESET na USB zbernici
UIE,TRNIE = 1 ;Povolenie prerušení od kompletne dokončených paketových sekvencii
PIR2,USBIF == 1 ;Nastalo prerušenie od USB
UIR,URSTIF == 1 ;Došlo resetu na USB zbernici; register UADDR bol vymazaný
UIR,TRNIF == 1 ;Prerušenie od úspešne dokončenej paketovej sekvencie