Форум: "Система";
Текущий архив: 2002.11.21;
Скачать: [xml.tar.bz2];
ВнизРабота с USB устройством. Найти похожие ветки
← →
DMdeveloper (2002-09-14 18:57) [0]У меня есть USB устройство, драйвер к нему, да и программа на делфи, которая с этим драйвером работает. Всё у меня есть. Программа осуществляет открытие устройства через реестр при помощи TReestry. Так вот: для этого она использует строковый параметр "SymbolicName" из реестра, который появляется там вместе с другими параметрами при установке драйвера. Когда я потащил своё устройство на другой комп (где USB порт сделан на PCI плате!!!) и установил свой драйвер, то в реестре необнаружил "SymbolicName" , хотя остальные параметры там были.
Причём тестовая программа RWBULK.exe (из DDK98) может работать с моим устройством.
Вопросы: 1. Почему там нет "SymbolicName"?
2. Как при помощи дельфи сделать программу способную работать с драйвером USB (не используя "SymbolicName", а используя GUID или что то в этом роде)?
← →
Странный Прохожий (2002-09-16 10:05) [1]Посмотрите в ini - файле для установки драйвера, секция для добавления параметров в реестр. Если нет, можно там прописать вручную.
Либо -- (менее вероятно) этот параметр создаётся драйвером при первой загрузке.
← →
DMdeveloper (2002-09-16 10:34) [2]Вручную писал непосредственно в реестре - нефига не получается.
← →
REA (2002-09-16 10:35) [3]Скорее драйвер (при установке) выдает имя по которому будет доступно устройство (хотя если USB устройств много, то непонятно как программа будет их отличать).
Можно для начала попробовать прописать руками в реестр.
← →
Странный Прохожий (2002-09-16 10:51) [4]А как выглядит это самое SymbolicName?
← →
DMdeveloper (2002-09-16 11:25) [5]Вот так:
\DosDevices\0000000000000024#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
← →
Странный Прохожий (2002-09-16 11:58) [6]Попробуйте прописать
\DosDevices\0000000000000086#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
Убедитесь, что приложение запрашивает этот ключ (RegMon-ом)
Если не поможет, значит, ошибка в дельфёвой программе.
← →
DMdeveloper (2002-09-16 13:55) [7]А почему вы заменили 24 на 86?
Случайно или преднамеренно?
← →
Странный Прохожий (2002-09-16 14:12) [8]А вы попробовали?
← →
Master Noname (2002-09-17 14:30) [9]Dmdeveloper: Поделись опытом создания драйвера!!! Очень прошу!!! Очень надо!!!
← →
Master Noname (2002-09-17 15:25) [10]Нашел на сайте TI драйвер. Кажеться для своего контролера (TUSB3200). А именно 2 файла: usbio_ti.sys и usbio_ti.inf! Всё ясно с установкой, но не понял как до него достучаться из дельфей... Все девайсы с которыми доводилось работать имели в комлекте не только сами дрова, но и DLL-ку... А тут? Не знаю, что делать... Раскажите лопуху (т.е. мне), что к чему!
← →
REA (2002-09-17 15:38) [11]Обычно работа с драйвером идет через DeviceIOControl, ReadFile, WriteFile. Автоопределение устройств работает по пронципу как у DelphiJedi HID USB компонента - там сообщения посылаются когда устройство подключается и отключается. В простейшем случае имя устройства уже известно (типа {a5dcbf10-6530-11d2-901f-00c04fb951ed}) и CreateFile уже для него создается. Но примеры программ все-равно не помешают.
← →
Master Noname (2002-09-17 15:40) [12]2 REA: А где их взять-то? Примеры эти...
← →
REA (2002-09-18 18:08) [13]На тексасе и должны быть вместе с драйвером. Не исключено что он эмулирует COM порт например - читай доки.
← →
DMdeveloper (2002-09-19 14:10) [14]Master Noname : а я его сам не создавал. Я взял из DDK98 примерный драйвер и скомпилил его. Потом натравил своё устройство на него, т.е. подставил VID и PID такие же как и в inf файле и всё.
← →
Noname Master (2002-09-19 17:10) [15]2 DMdeveloper: Попробую твой путь... А как ты из делфей до него достукиваешься?
← →
REA (2002-09-19 17:52) [16]Там проблема с адресацией: устройств то много может быть на шине. Если драйвер предполагает одно устройство, нужно CreateFile с именем этого устройства. Иначе есть PNP API специальное для отлова новых устройств.
← →
DMdeveloper (2002-09-20 09:29) [17]REA: но у каждого устройства свой SymbolicName
\DosDevices\0000000000000024#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
Вот по нему и надо обращаться, они разные для каждого устройства
← →
REA (2002-09-20 11:05) [18]А он не динамически выделяется при подключении?
← →
Noname Master (2002-09-20 11:37) [19]Это как с COM портами, толь вместо имяни СОМ порта, имя девайса, прописанного в \DosDevices\0000000000000024#{a5dcbf10-6530-11d2-901f-00c04fb951ed}?
← →
REA (2002-09-20 12:55) [20]COM он всегда COM # такой то, а тут на шине может быть много устройств. И как узнать адрес конкретного до того как оно появилось в реестре? И кто его туда прописывает? Драйвер при подключении?
← →
DMdeveloper (2002-09-20 15:03) [21]А я точно незнаю, но это прописано в реестре, даже когда устройство оключено.
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2002.11.21;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.009 c