Witam Pytanie do tych co robili cos z driverem ze strony Microchip (PIC18F2550)...
Domyslnie driver ten ma obsluge zdarzen USB na pollingu (nie na przerwaniach!)
Mam prosta petle typu:
while (1) { restart_wdt(); USBTasks(); stat = USBCheckBusStatus(); ProcessIO(); // See user\user.c & .h DecodeCommand(); // dekodowanie komendy USB
delay_ms(2);// maksymalnie 1 ms aby dzialalo! // MyTask(); }
i w lini delay_ms jak dam czas <=1ms to USB dziala caly czas OK. natomiast jak czas ten wydluze ponad 1ms to menedzer zadan pokazuje wykrzyknik i odlacza modul USB...
Na monitorze portu (hardware'owy) widze ze PIC odpowiada NAK'ami non stop, co dziwne bo przeciez caly czas obsluguje zdarzenie wewnatrz petli wiec kiedys powinien dac ACK!.
PS. W wielu driverach USB pod PIC jest napisane aby polling byl co najmniej co
10ms a tu wychodzi ze musze miec czesciej niz 1ms (czas ramki USB).Dzieki