Необходимо общаться с USB устройством под винды 98. Необходимо посылать на него команды и принимать ответ. Как это делать через COM-порт понятно, а вот USB не очень. Я знаю что можно использовать виртуальный СОМ. Хочется узнать, как это сделать обоими способами, хотя бы общий алгоритм. Спасибо.
Здравствуйте, kaiuk, Вы писали:
K> Необходимо общаться с USB устройством под винды 98. Необходимо посылать на него команды и принимать ответ. Как это делать через COM-порт понятно, а вот USB не очень. Я знаю что можно использовать виртуальный СОМ. Хочется узнать, как это сделать обоими способами, хотя бы общий алгоритм. Спасибо.
Если устройство покупное, то для него должен быть драйвер. А дальше:
HANDLE h = CreateFile("\\\\YOUR_USB_DEVICE_LINK", ...);
...
DeviceIoControl(h, ...);
...
WriteFile(h, ...);
...
ReadFile(h, ...);
...
CloseHandle(h);
...
Если же устройство "самодельное" — то к нему нужно писать свой драйвер (vxd — под Windows'9X или sys — Windows 2000-2003)
Здравствуйте, Zhenya_, Вы писали:
Z_>Здравствуйте, kaiuk, Вы писали:
K>> Необходимо общаться с USB устройством под винды 98. Необходимо посылать на него команды и принимать ответ. Как это делать через COM-порт понятно, а вот USB не очень. Я знаю что можно использовать виртуальный СОМ. Хочется узнать, как это сделать обоими способами, хотя бы общий алгоритм. Спасибо.
Z_>Если устройство покупное, то для него должен быть драйвер. А дальше:
Z_>Z_>HANDLE h = CreateFile("\\\\YOUR_USB_DEVICE_LINK", ...);
Z_>...
Z_>DeviceIoControl(h, ...);
Z_>...
Z_>WriteFile(h, ...);
Z_>...
Z_>ReadFile(h, ...);
Z_>...
Z_>CloseHandle(h);
Z_>...
Z_>
A к более-менее приличным устройствам прилагается свой SDK.
Z_>Если же устройство "самодельное" — то к нему нужно писать свой драйвер (vxd — под Windows'9X или sys — Windows 2000-2003)
Для 98 можно тоже sys, а для HID устройств можно обойтись без написания своего драйвера.
Кроме того, есть такие вещи как
Windriver
Здравствуйте, .h, Вы писали:
.h>Для 98 можно тоже sys, а для HID устройств можно обойтись без написания своего драйвера.
.h>Кроме того, есть такие вещи как Windriver
А есть ли возможность напрямую послать данные на какой-нибудь USB port? Ведь изначально драйвер USB портов стоит.
P.S. Что такое HID устройства ?
Спасибо.
Здравствуйте, .h, Вы писали:
.h>Здравствуйте, Zhenya_, Вы писали:
Z_>>Если устройство покупное, то для него должен быть драйвер. А дальше:
Z_>>Z_>>HANDLE h = CreateFile("\\\\YOUR_USB_DEVICE_LINK", ...);
Z_>>...
Z_>>DeviceIoControl(h, ...);
Z_>>...
Z_>>WriteFile(h, ...);
Z_>>...
Z_>>ReadFile(h, ...);
Z_>>...
Z_>>CloseHandle(h);
Z_>>...
Z_>>
Забыл спросить, что такое "\\\\YOUR_USB_DEVICE_LINK" ?
Здравствуйте, kaiuk, Вы писали:
K>Забыл спросить, что такое "\\\\YOUR_USB_DEVICE_LINK" ?
Это символическая ссылка на устройство (например COM-порт №1 будет "\\\\COM1"). А "\\\\YOUR_USB_DEVICE_LINK" принимает свое значение в зависимости от реализации драйвера устройства.
...
COM-порт №1 будет "\\\\.\\COM1")
и соответственно "\\\\.\\YOUR_USB_DEVICE_LINK"
"\\\\." — означает, что это локальная машина.
...