Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2003.04.21;
Скачать: [xml.tar.bz2];

Вниз

USB : С чего начать?   Найти похожие ветки 

 
Ega23   (2003-02-27 15:04) [0]

Господа!
Есть ли в Windows (а точнее в Win2000) стандартный драйвер (dll, набор API-функций) для работы с USB?
Где можно почитать обо всем этом поподробнее (и существует ли в природе такое описание), желательно по-русски (по-английски просто раза в 3 дольше будет :-) )?
Буду рад ЛЮБЫМ отзывам!

Олег.


 
Слесарь Матерящийся   (2003-02-27 15:25) [1]

Там есть целая подсистема для поддержки USB. Прочитать можно в докумендации к Windows DDK или в MSDN. Поиск по ключевым соловам "USB Driver Stack".

И нужно учесть, что для user-mode никакого API для управления USB девайсами (в общем случае) не предусмотрено - всё делается через драйверы.

По-русски, увы информации по интересующему вас вопросу просто НЕТ.
Хотя, можно сходить на форумы к электронщикам (www.gaw.ru, etc), может они знают...


 
Ega23   (2003-02-27 15:55) [2]

Давайте я попробую сформулировать проблему поточнее.
Разрабатывается новое USB устройство - считыватель Proximity карт. На верхнем уровне требуется набор из 3-х команд :
1. Получить статус устройства
2. Считать буфер устройства.
3. Очистить буфер устройства.

Если бы устройство работало через COM-порт, то никаких пробем: CreateFile и вперёд.
Есть ли какая-нибудь похожая функция для USB, или всё-таки придётся писать свой драйвер?
Всё дело в том, что в нашем проекте я занимаюсь клиентской частью БДб а с драйверами никогда дела не имел. Поэтому я просто теряюсь от этой задачи, не знаю с чего начать.


 
Слесарь Матерящийся   (2003-02-27 16:23) [3]

Считыватель карт - прекрасно! Но драйвер придётся писать обязательно. (Ну никак не решить проблему без него! Нет таких способов... Кроме шуток!)
И потом из клиентского приложения сделать CreateFile и спокойно работать с девайсом через свой драйвер с помощью DeviceIoControl().

Вообще, если опыта с устройствами USB нет никакого, для начала лучше:
1. Заняться изучением интерфейса. Описание USB1.1 можно взять на www.usb.org. Практически, программисту нужна только глава #9 из него. Остальное для общего развития :)
2. Изучить, как система поддерживает устройства USB - по документации Windows DDK. Это совсем не сложно.
3. Посмотреть исходники DDK - (bulkusb.sys)
4. Позапускать тестовые утилиты USB: Usb Compliance Test, к примеру (лучше старый), на разных устройствах (мышки, web-камеры, etc; в конце концов, на вашем считывателе карт, если он уже существует как устройство), посмотреть, понаблюдать, поэкспериментировать.

Даже небольшой опыт даст вам уверенность, необходимую для разрешения вашей проблемы.

Могу добавить только одно: технологию создания драйверов для устройств USB можно освоить "с нуля" примерно за месяц. Но - только самостоятельной работой.


 
Ega23   (2003-02-27 16:56) [4]

Направление работы ясно, огромное спасибо!
Но в таком случае у меня остаются 2 вопроса:
1. С www.usb.org спецификацию я скачал пару дней назад, но она на USB 2.0. Честно говоря, я не совсем разобрался в различиях спецификаций на 2.0 и более младших. Это принципиально или нет (Вы писали "Описание USB1.1 можно взять...")?
2. Что бы Вы могли посоветовать из документации (если MSDN, то ключевое слово) по архитектуре драйверов в Win2000 вообще? Просто приходится перелопачивать дикое количество ненужной (а может и нужной, who knows?) информации, когда не знаешь что искать.


 
Слесарь Матерящийся   (2003-02-27 17:24) [5]

Документацию на шину USB можно взять версии 1.1
USB 2.0 поддерживает т.н. High speed mode - высокоскоростной режим, но ширпотребовские микроконтроллеры его не поддерживают.
У вас будет либо low speed, либо full speed, а эти режимы регламентированы спецификацией USB1.1

В MSDN раздел:
Windows Development --> Driver Development Kit --> System Support For Buses --> USB.

В Windows 2000 DDK соответствующий раздел:
Kernel - mode drivers --> Design guide --> USB drivers.


 
Ega23   (2003-02-28 09:47) [6]

ОК, попробую. Огромное спасибо.



Страницы: 1 вся ветка

Форум: "Система";
Текущий архив: 2003.04.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
6-67413
Kremen
2003-02-28 05:12
2003.04.21
Определение IP тачи имея только её имя


9-67083
delpher_gray
2002-11-16 20:29
2003.04.21
С чего лучше начать учиться ?


14-67536
Михайлов Антон
2003-04-04 12:34
2003.04.21
---|Ветка была без названия|---


9-67076
NEOMEN
2002-11-20 19:27
2003.04.21
Могу помочь


3-67146
MishaS
2003-04-03 10:56
2003.04.21
Фиксация записи





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский