[an error occurred while processing this directive]
|
"2. когда же подключаешь к ПК с USB 1.1 всегда срабатывает EP0SETUP,
но когда наполняешь буфер и отправляешь хост опять делает Reset и GetDeviceDescriptor, вместо SetAddress."
В конце документа сказано что драйвер Windows после получения длины дескриптора прерывает передачу и формирует Reset.
Устройство должно прекратить передачу.
Затем передает запрос GetDeviceDescriptor с длиной ответа не 0x40 а столько сколько прочитано при первом запросе, затем только SetAddress.
XP может после первого запроса и сброса дать SetAddress а затем
GetDeviceDescriptor с нужной длиной.
Да и заметил глюк, если сразу при срабатывании EP0SETUP вычитать данные из Data Port, то первые 2 чтения я имею нули а дальше - 80 06 10 00 ...
Нужно читать документацию на чип.
В PDIUSBD12 от Philips первые два байта длина пакета.
Но поскольку в Setup длина пакета всегда 8 байт, то очевидно считываются нули.
E-mail: info@telesys.ru