Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: C8051F320+USBXpress
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
Dmitriy_V
Прописываю в устройстве следующие строки
code const BYTE USB_MfrStr[] = {0x1E,0x03,'D',0,'m',0,'i',0,'t',0,'r',0,'i',0,'y',0,' ',0,'D',0,'e',0,'v',0,'i',0,'c',0,'e',0};
code const BYTE USB_ProductStr[] = {0x1E,0x03,'U',0,'S',0,'B',0,' ',0,'M',0,'a',0,'k',0,'e',0,'t',0,' ',0,'P',0,'l',0,'a',0,'t',0};
code const BYTE USB_SerialStr[] = {0x0A,0x03,'1',0,'1',0,'1',0,'1',0};

USB_Init(USB_VID,USB_PID,USB_MfrStr,USB_ProductStr,USB_SerialStr,USB_MaxPower,US
B_PwAttributes,USB_bcdDevice);

При подключении устройства на короткий момент выскакивает USB_ProductStr[], но после установке драйвера при вызове следующей функции:
SI_GetProductString(i,@S,0x01);
выдается описание устройства как USBXpress Device которое забито в драйвере.
SI_GetProductString(i,@S,0x00); нормально выводит тот серийный номер который я забиваю в устройство.

Можно ли считать описания устройства из программы не исправляя драйвер, и если можно то как?

Если вдруг у кого-нибудь есть полное описание функции SI_DeviceIOControl, то дайте пожалуйста ссылку или прикрепите его к ответу.
Седой
Цитата
При подключении устройства на короткий момент выскакивает USB_ProductStr[], но после установке драйвера при вызове следующей функции:
SI_GetProductString(i,@S,0x01);
выдается описание устройства как USBXpress Device которое забито в драйвере.
SI_GetProductString(i,@S,0x00); нормально выводит тот серийный номер который я забиваю в устройство.


Так и должно быть, потому что скорее всего данная функция вообще не обращается к устройству, а вызывает фунции типа SetupDiXXX.
0х01 - значение флага SI_RETURN_DESCRIPTION, и функция возвращает описание устройства, указанное в реестре.

Чтобы изменить на нужное вам, отредактируйте INF файл

[Strings]
..........
DESCRIPTION="USBXpress Device"
FRIENDLYNAME="USBXpress Device"
..........

Одно значение из этих двух параметров соответствует указанному флагу.

Цитата
Можно ли считать описания устройства из программы не исправляя драйвер, и если можно то как?

Можно. Пользуйтесь SetupApi.

Возможно даже прочитать все дескрипторы вашего устройства, см. пример diview.exe из DDK.
Dmitriy_V
[quote name='Седой' date='Nov 8 2006, 10:58' post='173479']
[quote]
[quote]Можно ли считать описания устройства из программы не исправляя драйвер, и если можно то как?[/quote]
Можно. Пользуйтесь SetupApi.

Возможно даже прочитать все дескрипторы вашего устройства, см. пример diview.exe из DDK.
[/quote]

Не могу найти. Если можно дайте прямую ссылку на пример.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.