А вы не мучайтесь, а поставьте USBTrace, и она вам покажет, что думает хост по поводу вашего устройства. http://sysnucleus.com/usbtrace_download.html
> таки хост меня не понимает? > а в списке устройств - USB\VID_0000&PID_0000\5&35F5BB7B&0&2 Скорее всего, вы ему выдаете плохие 18 байт дескриптора. Чем подробно описывать байты, приходящие от хоста, вы бы лучше написали свои 18 байт, которые посылаете в качестве дескриптора. А если же вы свой псевдокод имеете ввиду.equ bLength =$12;
;.equ bDescriptorType =$01;
.equ bcdUSB =$0200 ;
.equ bDeviceClass =$02 ;
.equ bDeviceSubClass =$00 ;
.equ bDeviceProtocol =$00 ;
.equ bMaxPackedSize0 =$40 ;
.equ idVendor =$03EB ;
.equ idProduct =$201F ;
.equ bcdDevice =$1000 ;
.equ iManufacturer =$00 ;
.equ iProduct =$00 ;
.equ iSerialNumber =$00 ;
.equ bNumConfiguration =$01 ;
то я его не понимаю, поскольку вы не пишете, каким ассеблером пользуетесь.
По моим же представлениям об ассемблерах, точка с запятой является комментарием (в отличие от C), блокирующим всё, что написано справа от нее. Но тогда у вас bDescriptorType закомментирован. Даже эта конференция залила ваш bDescriptorType голубым цветом (подкрашивание здесь не мое, а производится автоматом), будучи солидарной со мной в этом вопросе. Поэтому очень возможно, что вы посылаете не 18 байт, а на один меньше. Из-за чего все поля оказываются не на своих местах. Кроме того, инструкция .equ не порождает кода, а используется для задания метки.
Поэтому прошу предъявить все ваши 18 байт, которые вы посылаете в ответ на запрос дескриптора. Причем именно посылаете, а не хотите послать. Желательно в столбик, чтобы не ломать голову над вопросом слева или справа у вас записан первый байт.
Если пользоваться USB-трассировщиком (см. ссылку), то можно видеть реально посланные байты.
> таки хост меня не понимает? > а в списке устройств - USB\VID_0000&PID_0000\5&35F5BB7B&0&2 Скорее всего, вы ему выдаете плохие 18 байт дескриптора. Чем подробно описывать байты, приходящие от хоста, вы бы лучше написали свои 18 байт, которые посылаете в качестве дескриптора. А если же вы свой псевдокод имеете ввиду
-
- AvrStudio 4.16 IgorV(2068 знак., 30.03.2009 00:11)