Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Надо посто в string descriptor записать серийный номер у-ва, а Device descriptor в поле iSerialNumber индекс серийного номера в string descriptor(+)

Отправлено F8 11 сентября 2007 г. 10:24
В ответ на: Драйвер USB отправлено <font color=gray>Trizna</font> 11 сентября 2007 г. 06:07

Как пример из кейловского USBAudio

/* USB Standard Device Descriptor */
const BYTE USB_DeviceDescriptor[] = {
USB_DEVICE_DESC_SIZE, /* bLength */
USB_DEVICE_DESCRIPTOR_TYPE, /* bDescriptorType */
WBVAL(0x0110), /* 1.10 */ /* bcdUSB */
0x00, /* bDeviceClass */
0x00, /* bDeviceSubClass */
0x00, /* bDeviceProtocol */
USB_MAX_PACKET0, /* bMaxPacketSize0 */
WBVAL(0xC251), /* idVendor */
WBVAL(0x1304), /* idProduct */
WBVAL(0x0100), /* 1.00 */ /* bcdDevice */
0x04, /* iManufacturer */
0x20, /* iProduct */
0x4A, /* iSerialNumber Индекс серийного номера в string descriptor*/
0x01 /* bNumConfigurations */
};

/* USB String Descriptor (optional) */
const BYTE USB_StringDescriptor[] = {
/* Index 0x00: LANGID Codes */
0x04, /* bLength */
USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */
WBVAL(0x0409), /* US English */ /* wLANGID */
/* Index 0x04: Manufacturer */
0x1C, /* bLength */
USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */
'K',0,
'e',0,
'i',0,
'l',0,
' ',0,
'S',0,
'o',0,
'f',0,
't',0,
'w',0,
'a',0,
'r',0,
'e',0,
/* Index 0x20: Product */
0x2A, /* bLength */
USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */
'K',0,
'e',0,
'i',0,
'l',0,
' ',0,
'M',0,
'C',0,
'B',0,
'2',0,
'1',0,
'4',0,
'0',0,
' ',0,
'S',0,
'p',0,
'e',0,
'a',0,
'k',0,
'e',0,
'r',0,
/* Index 0x4A: Serial Number Собственно серийный номер*/
0x1A, /* bLength */
USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */
'D',0,
'E',0,
'M',0,
'O',0,
'0',0,
'0',0,
'0',0,
'0',0,
'0',0,
'0',0,
'0',0,
'0',0,
};


Но учтите кажное у-во должно иметь уникальний серийный номер иначе когда юзер захочет подключить к компу несколько ваших вевайсов произойдет упс...


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
если прибавить четыре к четырём будет:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru