реклама на сайте
подробности

 
 
> CDC - устройство не проходит нумерацию
ArkZel
сообщение Mar 25 2009, 06:14
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 15-12-08
Из: Томск
Пользователь №: 42 479



Всем привет!

Пытаюсь сделать CDC-устройство на базе контроллера ISP1583.

Использую следующие дескрипторы:

Код
DeviceDescriptor CDC1_HS_Device_Descriptor[] =
{
    18,
    0x01,
    USB_VERSION_20,
    0x02,
    0x00,
    0x00,
    0x40,
    0xABCD,
    0xABCD,
    USB_RELEASE_NUMBER,
    0,
    0,
    0,
    0x01
};

ConfigurationDescriptor    CDC1_Standard_Config_Descriptor[] =
{
    9,
    0x02,
    0x43,
    0x02,
    0x01,
    0x00,
    0x40,
    250
};

InterfaceDescriptor CDC1_HS_Default_Interface_COM_Descriptor[] =        //communication interface
{
    9,
    0x04,
    0x00,
    0x00,
    0x01,
    0x02,
    0x02,
    0x01,
    0x00
};

InterfaceDescriptor CDC1_HS_Default_Interface_DATA_Descriptor[] =        //data interface
{
    9,
    0x04,
    0x01,
    0x00,
    0x02,
    0x0A,
    0x00,
    0x00,
    0x00
};

CDCFunctionalDescriptor CDC1_Heder_Functional_Descriptor[] =            //heder functional descriptor
{
    0x05,
    0x24,
    0x00,
    0x00,
    0x02
};

CDCFunctionalDescriptor CDC1_Call_Management_Descriptor[] =             //call management descriptor
{
    0x05,
    0x24,
    0x01,
    0x03,
    0x01
};

CDCFunctionalDescriptor CDC1_Abstract_Control_Management_Descriptor[] =             //abstract control management descriptor
{
    0x04,
    0х24,
    0x02,
    0x06,
};

CDCFunctionalDescriptor CDC1_Union_Interface_Functional_Descriptor[] =                 //union interface functional descriptor
{
    0x05,
    0х24,
    0x06,
    0x00,
    0x01
};

EndpointDescriptor CDC1_HS_Interrupt_In2_Descriptor[] =
{
    7,
    USB_ENDPOINT_DESCRIPTOR_TYPE,
    0x82,
    0x03,
    0x0020,
    0x02
};

EndpointDescriptor CDC1_HS_Bulk_Out4_Descriptor[] =
{
    7,
    USB_ENDPOINT_DESCRIPTOR_TYPE,
    0x04,
    0x02,
    0x0020,
    0x00
};

EndpointDescriptor CDC1_HS_Bulk_In4_Descriptor[] =
{
    7,
    USB_ENDPOINT_DESCRIPTOR_TYPE,
    0x84,
    0x02,
    0x0020,
    0x00
};

Конфигурацию отправляю в следующем порядке:

CDC1_Standard_Config_Descriptor[], //9-байт
CDC1_HS_Default_Interface_COM_Descriptor[], //9-байт
CDC1_Heder_Functional_Descriptor[] //5-байт
CDC1_Call_Management_Descriptor[] //5-байт
CDC1_Abstract_Control_Management_Descriptor[] //4-байт
CDC1_Union_Interface_Functional_Descriptor[] //5-байт
CDC1_HS_Interrupt_In2_Descriptor[] //7-байт
CDC1_HS_Default_Interface_DATA_Descriptor[] //9-байт
CDC1_HS_Bulk_Out4_Descriptor[] //7-байт
CDC1_HS_Bulk_In4_Descriptor[] //7-байт

После того как отправляю дескриптор конфигурации со всеми вложенными интерфейсами, хост ничего больше не шлет.

Что нужно сделать чтобы до конца пройти процесс нумерации?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 07:23
Рейтинг@Mail.ru


Страница сгенерированна за 0.01344 секунд с 7
ELECTRONIX ©2004-2016