Dobrý deň.
Mám problém so spustením procesu enumerácie po pripojení môjho PIC16F1454 k počítaču. -PC síce vyšle signál reset, ale nič ďalej sa nedeje. Po správnosti by mal po resete nasledovať od počítača instačný paket, požiadavka na Device Deskriptor. Ale nič také sa nestane. Podľa datasheetu PICka by sa po prijatí paketu mal nastaviť bit TRNIF v registri UIR. Ale nenastaví sa. Čiže žiaden paket s požiadavkou od PCéčka nebol prijatý. Jediné, čo som mohol detekovať, bolo nastavenie a vynulovanie bitu SE0 v registri UCON, ktorý detekuje nulové napätie na zbernici (v tomto prípade sa jedná o signál RESET). A to je všetko. Nič ďalej. Vedel by mi niekto poradiť, kde robím chybu?
Registre obsluhujúce USB kominkáciu mám nastavené tekto:
movlw b'00010000'
movwf UCFG
movlw b'00010110'
movwf UEP0
....Čiže sú nastavené bity:
UCFG:
UPUEN (4) = 1 (zaradenie PULL-UP odporu)
FSEN (2) = 0 (nízka rýchlosť komunikácie)
UEP0:
EPHSHK (4) = 1 (Endpoint 0 má povolené Handshake pakety.)
EPCONDIS (3) = 0 (Okrem IN a OUT sú na endpointe 0 povolené aj SETUP prenosy)
EPOUTEN (2) = 1 (Endpoint 0 je povolený pre OUTPUT)
EPINEN (1) = 1 (Endpoint 0 je povolený pre INPUT)
.......A potom v programe zapnem port pomocou:
bsf UCON,USBEN
PC mi samozrejme hneď hlási, že "Inštaluje sa ovládač zariadenia" ... a .... "zariadenie nebolo rozpoznané", ale o to tu nejde. Učím sa USB komunikáciu a chcem začať drobnými krôčikmi. Prvý drobný krôčik je úspešne načítať do pamäti PIC-ka instančný paket od PC. Skúšal som všetko možné, ale nedarí sa mi. Poraďte prosím...