Модераторы: PILOT, ManiaK, Mazzi

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программирование USB-устройств под DOS 
:(
    Опции темы
sir
Дата 18.8.2005, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 18.8.2005

Репутация: нет
Всего: нет



Подскажите, где найти документацию для написания драйвера для USB-устройств (порты, команды, протоколы...).
Хотелось бы под DOSом, но буду рад любому варианту.

ЗАРАНЕЕ БЛАГОДАРЮ ВСЕХ ОТКЛИКНУВШИХСЯ!!!
PM MAIL   Вверх
Akina
Дата 18.8.2005, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: нет
Всего: 453



Набрал в Гугле "USB DDK for DOS".
Первая же ссылка - http://www.lvr.com/usb.htm
Не стыдно?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
sir
Дата 19.8.2005, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 18.8.2005

Репутация: нет
Всего: нет



To Akina with love : а Ты на http://www.lvr.com/usb.htm понял что-нибудь? Если да, то через какие порты идет общение с USB?

PM MAIL   Вверх
cardinal
Дата 20.8.2005, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 8
Всего: 99



Цитата(sir @ 19.8.2005, 11:45)
Если да, то через какие порты идет общение с USB?

Через спец. USB'шные порты: USBin и USBout (у контроллера).


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Crait
Дата 20.8.2005, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 244
Регистрация: 20.2.2003

Репутация: нет
Всего: 1



http://hobbes.nmsu.edu/pub/dos/Usb4pas.zip
http://migera.ru/Files/usbdos.rar
http://tz.webclass.ru/?usb_dos

Не знаю, устарели сейчас эти ссылки, или же нет - попробуй smile
PM MAIL   Вверх
tikitiki
Дата 22.8.2005, 21:58 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 10.5.2005

Репутация: нет
Всего: нет



Подскажите как программируется usb-устройство например из программы на Delphi, работающей под win. Видимо нужна разработка драйвера этого устройства под win сначала(если устройство проектируется)? Если да, где найти информацию по написанию драйверов таких? После создания драйвера и установки на пк видимо остаётся только привязка кода программы к устройству без обращения напрямую к драйверу. Или как этот процесс происходит хоть вкратце?


--------------------
PM   Вверх
Guest
Дата 18.9.2005, 12:30 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Дельфинам тут: http://www.bhv.ru/books/book.php?id=5993
  Вверх
Гость_rus
Дата 24.11.2005, 10:09 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











попробуй прогу WinDriver все сама делает.Запусти на поиск,ссылок хватает.
  Вверх
chetr
Дата 27.1.2006, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 27.1.2006

Репутация: нет
Всего: нет



Нужны исходники для программирования под MS-DOS, есть девайс DS2490 вот его и надо запрограммировать на работу с таблеткой (Touch Memory). Считал дескриптор устройства и почти все дескрипторы конфигурации, интерфейса, конечных точек, кроме одного последнего-> конечной точки (Кулакову руки оторвать за плохую прогу в книге). Так вот как считать данные с устройства через BULK конечную точку и как с ними работать по прерываниям
PM MAIL   Вверх
makwen
Дата 27.1.2006, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 163
Регистрация: 9.11.2005
Где: Киев

Репутация: 1
Всего: 1



tikitiki
Цитата

Видимо нужна разработка драйвера этого устройства под win сначала(если устройство проектируется)?

Если устойство низкоскоросное, то можна использывать драйвер HID устройства. Он встроенный в WIndows98\2000\XP.
Маскимально достигаемая скорость 64Кбит\с.
Мыши и клавы, которые под USB используют этот драйвер!
PM MAIL   Вверх
NagSerg
Дата 10.2.2006, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 18.8.2005

Репутация: нет
Всего: нет



Я когда разрабатывал своё первое USB устройство, пользовался WinDriver - очень удобная прога. С помощью её можно записать/прочитать любую конечную точку (если конечно она разрешена). С помощью её же можно сгенерить тестовое приложение для Delphi, Builder, Visual, я попробовал - мне не понравилось. В книге Павла Агурова "Интерфейс USB практика использования и программирования" хорошо написано как создать драйвер с помощью программы Driver Studio. Так же Driver Studio генерит тестовое приложение на Visual и обращение к устройству происходит как CreateFile, далее чтение - ReadFile, запись - WriteFile.
PM MAIL   Вверх
chetr
Дата 10.2.2006, 22:40 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 27.1.2006

Репутация: нет
Всего: нет



Как же всё плохо оказывается за океаном!!! Никто уже не разрабатывает USB драйверов под родной забытый ДОС (за некоторыми исключением). Больше огорчает, что никто не может конкретно привести пример куска программы, даже сам Jan Axelson ответил мне на USB.org посмотри говорит на моём сайте http://www.lvr.com/usb.htm , там говорит что-то валялось по поводу ЮСБ в ДОСе. А валялись там ссылки на сайт МелкоМягких, где конечно же никаких примеров НЕТ!!! (или я плохо искал). Так что остаётся мне друзья опять спросить у ВАС. КАК ЖЕ всё-таки правильно посылать Interrupt и BULK IN/OUT транзакции для UHCI контроллера? Перепробовал всё!!! Сил больше нет!!! smile Есть ли тут люди знающие этот замечательный интерфейс до основания?



PM MAIL   Вверх
PILOT
Дата 11.2.2006, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



Есть книга, в которой есть исходник USB драйвера под ДОС, книга называется "Аппаратные средства ПК" или как-то атк, на работе лежит... могу уточнить название, если есть необходимость.

СУВ.
Добавлено @ 22:16
Нашел дома:
"Программирование на аппаратном уровне" Кулаков.

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
chetr
Дата 12.2.2006, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 27.1.2006

Репутация: нет
Всего: нет



У меня такая тоже имеется, собственно по ней и стал изучать этот интерфейс. Но не работают его примеры на практитке.
PM MAIL   Вверх
PILOT
Дата 12.2.2006, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



Хм... я их конечно не пробовал, но все же есть уверенность в том, что они правильные, а если не работает, то возможно ошибка весьма банальна и ищется достаточно быстро...

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
chetr
Дата 12.2.2006, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 27.1.2006

Репутация: нет
Всего: нет



Я его исходники использовал для того, чтобы запрограммировать DS2490 под ДОС, но писать пришлось на "Си". Так вот у меня всё работает кроме BULK и Interrupt транзакций. На счёт банальности ошибки в своём коде я уверен, вот только не знаю где именно она спряталась. Вообще Кулаков пишет про эти транзакции, что надо отправлять пакеты подтверждения, а в примере кода этого нет!!! Кому верить?
PM MAIL   Вверх
PILOT
Дата 13.2.2006, 00:01 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



Верить нужно исходной документации smile т.е. описанию контроллера хоста USB ;) PDF

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
chetr
Дата 13.2.2006, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 27.1.2006

Репутация: нет
Всего: нет



Полностью с тобой согласен, жаль что в спецификации ЮСБ нет приеров исходников =( А ты случаем не знаешь ЮСБ протокол very well? А то очень сложно найти реально разбирающихся в этом протоколе людей
PM MAIL   Вверх
PILOT
Дата 14.2.2006, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



Смотря что тебя интересует...
Транзакции в момент включения? или что?

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
chetr
Дата 15.2.2006, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 27.1.2006

Репутация: нет
Всего: нет



Вот смотри с девайса я считал все его дескрипторы. Дальше с помощью Сетуп пакетов ему передаёшь команды с параметрами. А параметры надо передавать через BULK Out транзакции. Считывать статус устройства (его регистры) надо через Interrupt IN. Так во вопросы накопились следующие:
1-пакет подтверждения- это АСК пакет, который у Кулакова называется пустым?
2-нужно ли его слать устройству после Bulk IN и Interrupt транзакции?
3-АСК пакеты вырабатываются аппаратно или нужно их самому формировать и отсылать?
4-какой конечной точке АСК отсылать, ведь если принимаем через IN то отсылать надо в OUT или как?
5-не могу понять как надо правильно вормировать пакеты для Bulk IN и Interrupt транзакции?

Если чо-нить из этого знаешь, ответь пожалуйста плз.
PM MAIL   Вверх
chetr
Дата 15.2.2006, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 27.1.2006

Репутация: нет
Всего: нет



Вроде разобрался с 1 2 3 4 вопросами, и частично с 5. Научился получать содержимое статусных регистров девайса через Interrupt транзакцию
PM MAIL   Вверх
chetr
Дата 17.2.2006, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 27.1.2006

Репутация: нет
Всего: нет



Осталось BULK IN доделать
PM MAIL   Вверх
chetr
Дата 17.2.2006, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 27.1.2006

Репутация: нет
Всего: нет



Оказалось что не доконца сконфигурировал устройство!!! А так всё оказывается просто. Кстати надо запрашивать постоянно состояние внутренних регистров устройства. А есть идеи, как писать для OHCI контроллера?
PM MAIL   Вверх
chetr
Дата 16.3.2006, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 27.1.2006

Репутация: нет
Всего: нет



Проблема решена для UHCI контроллера (могу поделиться опытом). Теперь нужны исходники, показывающие, как работать с OHCI контроллером после того, как определили его адрес на шине PCI. ПОМОЖИТЕ плз!!! Заранее спасибо!!! smile
PM MAIL   Вверх
chetr
Дата 5.4.2006, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 27.1.2006

Репутация: нет
Всего: нет



Ещё вопрос по теме!!! С USB микросхемой научился работать под ДОСом, а вот клавиатуру USB она подвешивает, как обойти эту ситуацию?
PM MAIL   Вверх
chetr
Дата 11.4.2006, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 27.1.2006

Репутация: нет
Всего: нет



Что-то все смотрят тему, а ответить никто не может...досадно
PM MAIL   Вверх
chetr
Дата 4.5.2006, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 27.1.2006

Репутация: нет
Всего: нет



Тема ещё актуальна!!! Вроде проинициализировал хост, а нумерация не проходит. Выдаётся ошибка 5 (Device not responding), в чём может быть проблема? Устройство не посылает пакет подтверждения?  
PM MAIL   Вверх
PILOT
Дата 4.5.2006, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



а ты посмотри отладчиком USB, если ты просто D+ или D- подтянешь к 5Вольтам у тебя пойдут запросы от хоста, при этом твой резистор ничего естественно не ответит, а значит хост выдаст: Device not responding. Т.е. устройство не отвечает на запрос.

СУВ. 


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
chetr
Дата 4.5.2006, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 27.1.2006

Репутация: нет
Всего: нет



а где его взять этот отладчик? 
PM MAIL   Вверх
PILOT
Дата 5.5.2006, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: 20
Всего: 54



Могу тебе его прислать но только 15-го мая. Т.к. в отпуске до этого момента smile

СУВ. 


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
chetr
Дата 5.5.2006, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 27.1.2006

Репутация: нет
Всего: нет



Договорились =) мыло==> chetr_bk.ru 

Это сообщение отредактировал(а) chetr - 5.5.2006, 12:55
PM MAIL   Вверх
ManiaK
Дата 6.5.2006, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Homo Sapience
***


Профиль
Группа: Комодератор
Сообщений: 1145
Регистрация: 3.8.2004
Где: ИУ5-93

Репутация: 2
Всего: 29



Разрослась как тема, закреплю-ка я её... 
PM MAIL WWW   Вверх
chetr
Дата 11.5.2006, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 27.1.2006

Репутация: нет
Всего: нет



А теперь супер-вопрос для людей, знающих USB интерфейс!!! Как сделать под ДОСом, чтобы моя прога отработала и не выключила USB клавиатуру??? Какой алгоритм правильный???  
Неужели все в отпуске отдыхают??? 
Кстати для начинающих!!! Могу дать полезные ссылки на документацию!!! 

Это сообщение отредактировал(а) chetr - 23.5.2006, 19:05
PM MAIL   Вверх
Якимчук
Дата 10.6.2006, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 10.6.2006

Репутация: нет
Всего: нет



Книги: В. Кулаков. Программирование на аппаратном уровне, П. Агуров Интерфейс USB. Практика использования и программирования; Справочник: Driver Development Kits (DDK) XP и много другой полезной литературы можно скопировать здесь: http://www.pcports.ru/Library.php . 
См. также http://www.is.svitonline.com/vks/Links/Download.html и http://www.sibsutis.ru/~mavr/LIB/books.htm

PM MAIL   Вверх
chetr
Дата 10.6.2006, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 27.1.2006

Репутация: нет
Всего: нет



Спасибо!!! Но у меня всё это есть и даже больше!!! smile   
PM MAIL   Вверх
makwen
Дата 11.6.2006, 00:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 163
Регистрация: 9.11.2005
Где: Киев

Репутация: 1
Всего: 1



chetr
Если есть еще что-то полезное, можешь выложить! Буду благодарен! 
PM MAIL   Вверх
chetr
Дата 18.6.2006, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 27.1.2006

Репутация: нет
Всего: нет



http://forum.sources.ru/index.php?showtopic=131130&st=0
тут поинтереснее и есть кое-что по теме 
PM MAIL   Вверх
ManiaK
Дата 23.6.2006, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Homo Sapience
***


Профиль
Группа: Комодератор
Сообщений: 1145
Регистрация: 3.8.2004
Где: ИУ5-93

Репутация: 2
Всего: 29



Модератор: Господа, НИКАКИХ ВОПРОСОВ в данной теме! Только информация!.. 

Это сообщение отредактировал(а) ManiaK - 23.6.2006, 16:22
PM MAIL WWW   Вверх
KEM
Дата 29.9.2006, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 152
Регистрация: 28.1.2005

Репутация: нет
Всего: 2



Вот такую чудесный компонент нашол, молоэфективен еонечно, но даёт толчок в нужном направлении.
Код

//detect if a USB device is connected or disconnected?
//autor: miguel lucero
//homepage: www.lsis.com.ar
// component to detect when usb devices are connected or disconnected
// using registerdevicenotification

unit u_usb;

interface

uses
windows, messages, sysutils, classes, forms;

type

pdevbroadcasthdr = ^dev_broadcast_hdr;
dev_broadcast_hdr = packed record
dbch_size: dword;
dbch_devicetype: dword;
dbch_reserved: dword;
end;

pdevbroadcastdeviceinterface = ^dev_broadcast_deviceinterface;
dev_broadcast_deviceinterface = record
dbcc_size: dword;
dbcc_devicetype: dword;
dbcc_reserved: dword;
dbcc_classguid: tguid;
dbcc_name: short;
end;

const
guid_devinterface_usb_device: tguid = '{a5dcbf10-6530-11d2-901f-00c04fb951ed}';
dbt_devicearrival = $8000; // system detected a new device
dbt_deviceremovecomplete = $8004; // device is gone
dbt_devtyp_deviceinterface = $00000005; // device interface class

type

tcomponentusb = class(tcomponent)
private
 fwindowhandle: hwnd;
 fonusbarrival: tnotifyevent;
 fonusbremove: tnotifyevent;
 procedure wndproc(var msg: tmessage);
 function usbregister: boolean;
protected
 procedure wmdevicechange(var msg: tmessage); dynamic;
public
 constructor create(aowner: tcomponent); override;
 destructor destroy; override;
published
 property onusbarrival: tnotifyevent read fonusbarrival write fonusbarrival;
 property onusbremove: tnotifyevent read fonusbremove write fonusbremove;
end;

procedure Register;

implementation

constructor tcomponentusb.create(aowner: tcomponent);
begin
inherited create(aowner);
fwindowhandle := allocatehwnd(wndproc);
usbregister;
end;

destructor tcomponentusb.destroy;
begin
deallocatehwnd(fwindowhandle);
inherited destroy;
end;

procedure tcomponentusb.wndproc(var msg: tmessage);
begin
if (msg.msg = wm_devicechange) then
begin
try
wmdevicechange(msg);
except
application.handleexception(self);
end;
end
else
msg.result := defwindowproc(fwindowhandle, msg.msg, msg.wparam, msg.lparam);
end;

procedure tcomponentusb.wmdevicechange(var msg: tmessage);
var
devtype: integer;
datos: pdevbroadcasthdr;
begin
if (msg.wparam = dbt_devicearrival) or (msg.wparam = dbt_deviceremovecomplete) then
begin
datos := pdevbroadcasthdr(msg.lparam);
devtype := datos^.dbch_devicetype;
if devtype = dbt_devtyp_deviceinterface then
begin // usb device
if msg.wparam = dbt_devicearrival then
begin
if assigned(fonusbarrival) then
fonusbarrival(self);
end
else
begin
if assigned(fonusbremove) then
fonusbremove(self);
end;
end;
end;
end;

function tcomponentusb.usbregister: boolean;
var
dbi: dev_broadcast_deviceinterface;
size: integer;
r: pointer;
begin
result := false;
size := sizeof(dev_broadcast_deviceinterface);
zeromemory(@dbi, size);
dbi.dbcc_size := size;
dbi.dbcc_devicetype := dbt_devtyp_deviceinterface;
dbi.dbcc_reserved := 0;
dbi.dbcc_classguid := guid_devinterface_usb_device;
dbi.dbcc_name := 0;

r := registerdevicenotification(fwindowhandle, @dbi,
device_notify_window_handle
);
if assigned(r) then result := true;
end;

procedure Register;   { add this in the implementation section }
begin
  RegisterComponents('Samples', [TComponentUSB]);
end;

end.

--------------------
Мы растворяем сознание жизни, реальностью стал бешеный ритм...
PM MAIL   Вверх
cardinal
Дата 8.11.2007, 06:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 8
Всего: 99



Если надо сделать устройство для коммуникации по USB, то можно это очень просто организовать при помощи FT232RL. Схему для ATmega8 или ATmega32 найдете на сайте www.g24-tec.com...



--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
rthsobakas
Дата 3.11.2009, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 562
Регистрация: 20.9.2007

Репутация: нет
Всего: -1



сейчас ещё usb3.0 вышла. Интересно че там изменилось.

Добавлено через 7 минут и 40 секунд
интересно хоть кто -нибудь из посылающих читать спецификацию, сам до конца прочитал весь материал по УСб?)))
PM   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.2397 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.