Прочитал пост с нуля, понял что я тоже нуль. Страшно представить что можно задавать такие глупые вопросы.
Огромное СПАСИБО aaarrrr за терпение.
И так, дескриптор устройства отправил. Получил 8, передал 8 получил 18, передал 18. С этим понятно. Потом пришел запрос USB_DEVICE_QUALIFIER_DESCRIPTOR_TYPE. Обработал и отправил. Все дескрипторы переписываю из примера от Cypress. Затем пришел запрос конфигурации. Спрашивает 9, отвечаю тем же. Потом спрашивает 73, отвечаю. Затем стринг запрос, отвечаю. Но USBVIEW не видит дескриптора конфигурации. Видит только дескриптор устройства. Что делать?
Вот привожу объявление дескрипторов:
CODE
static const USB_DEVICE_DESCRIPTOR f_DeviceDescriptor =
{
sizeof(USB_DEVICE_DESCRIPTOR), //bLength
USB_DEVICE_DESCRIPTOR_TYPE, //bDescriptorType
0x0110, //bcdUSB - 1.
0x00, //bDeviceClass
0x00, //bDeviceSubClass
0x00, //bDeviceProtocol
0x08, //bMaxPacketSize0 - для нулевой точки
DEVICE_VID, //idVendor - LCARD
DEVICE_PID, //idProduct
1, //bcdDevice
0x01, //iManufacturer
0x02, //iProduct
0x00, //iSerialNumber -- могло бы быть 3
0x01 //bNumConfigurations
};
static const USB_DEVICE_QUALIFIER_DESCRIPTOR f_QalifierDescriptor=
{
sizeof(USB_DEVICE_QUALIFIER_DESCRIPTOR), //bLength
USB_DEVICE_QUALIFIER_DESCRIPTOR_TYPE,
0x0110, // bcdUSB;
0x00, // bDeviceClass;
0x00, // bDeviceSubClass;
0x00, // bDeviceProtocol;
0x08, // bMaxPacketSize0;
0x01, // bNumConfigurations;
0x00 // bReserved;
};
static const FULL_CONFIG_DESCRIPTOR f_ConfigurationDescriptor_Full=
{
// USB_CONFIGURATION_DESCRIPTOR g_ConfigurationDescriptor =
{
sizeof(USB_CONFIGURATION_DESCRIPTOR), //bLength
USB_CONFIGURATION_DESCRIPTOR_TYPE, //bDescriptorType
sizeof(USB_CONFIGURATION_DESCRIPTOR) +
sizeof(USB_INTERFACE_DESCRIPTOR) +
sizeof(USB_ENDPOINT_DESCRIPTOR) +
sizeof(USB_INTERFACE_DESCRIPTOR) +
sizeof(USB_ENDPOINT_DESCRIPTOR) +
sizeof(USB_INTERFACE_DESCRIPTOR) +
sizeof(USB_ENDPOINT_DESCRIPTOR) +
sizeof(USB_INTERFACE_DESCRIPTOR) +
sizeof(USB_ENDPOINT_DESCRIPTOR), //wTotalLength
0x01, //bNumInterfaces
0x01, //bConfigurationValue
0x00, //iConfiguration
/*1*/ USB_CONFIG_BUS_NOWAKEUP, // 0xA0 // attribute : Bus-powered, no wakeup
/*1*/ CURRENT_CONSUMPTION_MA/2 // Maximum power consumption (in 2mA unit, so 0x64 =100= 200mA)
},
//Interface Descriptor**********************************************************
{
sizeof(USB_INTERFACE_DESCRIPTOR), //bLength
USB_INTERFACE_DESCRIPTOR_TYPE, //bDescriptorType
0x00, //bInterfaceNumber
0x00, //bAlternateSetting
0x01,//ENDPOINT_COUNT, //bNumEndpoints
0xFF, //bInterfaceClass
0x00, //bInterfaceSubClass
0x00, //bInterfaceProtocol нет протокола
0x00 //iInterface
},
//Endpoint Descriptor***********************************************************
{
sizeof(USB_ENDPOINT_DESCRIPTOR), //bLength
USB_ENDPOINT_DESCRIPTOR_TYPE, //bDescriptorType,
0x82, //bEndpointAddress - LTR 10
USB_ENDPOINT_TYPE_BULK, //bmAttributes
0x0040, //wMaxPacketSize
0x01 //bInterval
},
//Interface Descriptor 1 *******************************************************
{
sizeof(USB_INTERFACE_DESCRIPTOR), //bLength
USB_INTERFACE_DESCRIPTOR_TYPE, //bDescriptorType
0x00, //bInterfaceNumber
0x01, //bAlternateSetting
0x01, //ENDPOINT_COUNT, //bNumEndpoints
0xFF, //bInterfaceClass
0x00, //bInterfaceSubClass
0x00, //bInterfaceProtocol нет протокола
0x00 //iInterface
},
//Endpoint Descriptor 1 ********************************************************
{
sizeof(USB_ENDPOINT_DESCRIPTOR), //bLength
USB_ENDPOINT_DESCRIPTOR_TYPE, //bDescriptorType,
0x02, //bEndpointAddress - LTR 10
USB_ENDPOINT_TYPE_BULK, //bmAttributes
0x0040, //wMaxPacketSize
0x01 //bInterval
},
//Interface Descriptor 2 *******************************************************
{
sizeof(USB_INTERFACE_DESCRIPTOR), //bLength
USB_INTERFACE_DESCRIPTOR_TYPE, //bDescriptorType
0x00, //bInterfaceNumber
0x02, //bAlternateSetting
0x01, //ENDPOINT_COUNT, //bNumEndpoints
0xFF, //bInterfaceClass
0x00, //bInterfaceSubClass
0x00, //bInterfaceProtocol нет протокола
0x00 //iInterface
},
//Endpoint Descriptor 2 ********************************************************
{
sizeof(USB_ENDPOINT_DESCRIPTOR), //bLength
USB_ENDPOINT_DESCRIPTOR_TYPE, //bDescriptorType,
0x82, //bEndpointAddress - LTR 10
USB_ENDPOINT_TYPE_ISOCHRONOUS, //bmAttributes
0x0040, //wMaxPacketSize
0x01 //bInterval
},
//Interface Descriptor 3 *******************************************************
{
sizeof(USB_INTERFACE_DESCRIPTOR), //bLength
USB_INTERFACE_DESCRIPTOR_TYPE, //bDescriptorType
0x00, //bInterfaceNumber
0x03, //bAlternateSetting
0x01, //ENDPOINT_COUNT, //bNumEndpoints
0xFF, //bInterfaceClass
0x00, //bInterfaceSubClass
0x00, //bInterfaceProtocol нет протокола
0x00 //iInterface
},
//Endpoint Descriptor 3 ********************************************************
{
sizeof(USB_ENDPOINT_DESCRIPTOR), //bLength
USB_ENDPOINT_DESCRIPTOR_TYPE, //bDescriptorType,
0x02, //bEndpointAddress - LTR 10
USB_ENDPOINT_TYPE_ISOCHRONOUS, //bmAttributes
0x0040, //wMaxPacketSize
0x01 //bInterval
}
};