Работа с USB
Модератор: Модераторы
- Attid
- долгожитель
- Сообщения: 2588
- Зарегистрирован: 27.10.2006 17:29:15
- Откуда: 44°32′23.63″N 41°2′25.2″E
- Контактная информация:
Работа с USB
Наверно немного не тот форум =) но может кто сталкивался .
хочется работать с устройством через USB , само устройство еще не готово =)
прото хотелось бы почитать как это дело вообще происходит и желательно сначало по русски, а потом уже можно и на англецком.
ОС Linux, но и под окошки тоже можно.
хочется работать с устройством через USB , само устройство еще не готово =)
прото хотелось бы почитать как это дело вообще происходит и желательно сначало по русски, а потом уже можно и на англецком.
ОС Linux, но и под окошки тоже можно.
http://libusb.sourceforge.net
http://wiki.lazarus.freepascal.org/Hardware_Access/ru#USB
http://www.beyondlogic.org/usbnutshell/usb1.htm
http://www.usb.org/developers/docs/
Ссылки в порядке возрастания сложности. Сам с железками не работал, но одно время интересовался...
http://wiki.lazarus.freepascal.org/Hardware_Access/ru#USB
http://www.beyondlogic.org/usbnutshell/usb1.htm
http://www.usb.org/developers/docs/
Ссылки в порядке возрастания сложности. Сам с железками не работал, но одно время интересовался...
- Sergei I. Gorelkin
- энтузиаст
- Сообщения: 1409
- Зарегистрирован: 24.07.2005 14:40:41
- Откуда: Зеленоград
Происходит очень просто:
1) Находим нужное устройство среди всего воткнутого в комп барахла.
2) Шлем запросы в соответствии с тем протоколом, который устройство поддерживает.
Для простых устройств libusb достаточно за глаза. Примеров в сети тонна, берешь любой, меняешь VID и PID устройства, а также коды запросов на свои, и остается только дорабатывать напильником.
Реальный цирк начинается, когда речь заходит о передаче больших объемов данных или с большой скоростью. Тут выясняется, что libusb 0.1 не поддерживает асинхронную передачу вообще, libusb 1.0 вроде как поддерживает, но абсолютно не совместим с 0.1, к тому же последние лет пять не может вылезти из глубокой беты, в связи с чем группа товарищей форкнула от него проект openusb...
Вменяемой документации на русском я, увы, не видел. Впрочем, со своим английским и не очень-то искал.
Может, самому статью на эту тему написать?
1) Находим нужное устройство среди всего воткнутого в комп барахла.
2) Шлем запросы в соответствии с тем протоколом, который устройство поддерживает.
Для простых устройств libusb достаточно за глаза. Примеров в сети тонна, берешь любой, меняешь VID и PID устройства, а также коды запросов на свои, и остается только дорабатывать напильником.
Реальный цирк начинается, когда речь заходит о передаче больших объемов данных или с большой скоростью. Тут выясняется, что libusb 0.1 не поддерживает асинхронную передачу вообще, libusb 1.0 вроде как поддерживает, но абсолютно не совместим с 0.1, к тому же последние лет пять не может вылезти из глубокой беты, в связи с чем группа товарищей форкнула от него проект openusb...
Вменяемой документации на русском я, увы, не видел. Впрочем, со своим английским и не очень-то искал.
Может, самому статью на эту тему написать?
- Attid
- долгожитель
- Сообщения: 2588
- Зарегистрирован: 27.10.2006 17:29:15
- Откуда: 44°32′23.63″N 41°2′25.2″E
- Контактная информация:
Sergei I. Gorelkin писал(а):Может, самому статью на эту тему написать?
ну это всегда полезно , даже блоги есть =)
Sergei I. Gorelkin писал(а):когда речь заходит о передаче больших объемов данных или с большой скоростью.
а вот это может оказаться критичным, но не в первое время.
Сергей, напишите статью пожалуйста))) Многим бы помогли разобраться в этом звере)))
gen писал(а):Сергей, напишите статью пожалуйста))) Многим бы помогли разобраться в этом звере)))
Поддерживаю. Пожалуйста
- Sergei I. Gorelkin
- энтузиаст
- Сообщения: 1409
- Зарегистрирован: 24.07.2005 14:40:41
- Откуда: Зеленоград
Боюсь, что до конца года за это занятие я взяться не смогу 
Кроме того, все мои изыскания для Slackware оказались совершенно нерабочими в Ubuntu. Придется все переосмысливать и переделывать...
Кроме того, все мои изыскания для Slackware оказались совершенно нерабочими в Ubuntu. Придется все переосмысливать и переделывать...
-
Bohdan
- новенький
- Сообщения: 87
- Зарегистрирован: 11.05.2005 11:31:46
- Откуда: Ukraine, Kyiv
- Контактная информация:
Attid писал(а):Наверно немного не тот форум =) но может кто сталкивался .
хочется работать с устройством через USB , само устройство еще не готово =)
прото хотелось бы почитать как это дело вообще происходит и желательно сначало по русски, а потом уже можно и на англецком.
ОС Linux, но и под окошки тоже можно.
Во первых вам нужно определится с железом.
Какая вам нужно скорость? Какой функционал?
Из простых решений я бы посоветовал использовать RS2USB конверторы: FT232R или CP210X (есть еще других производителей но эти самые простые).
Ети микросхемы недорогие, не требуют особых знаний и драйвера есть как под линукс так и под винду (всключая WinCE).
Со стороны как железа так и ПО выглядят как последовательный порт.
Скрость они могут дать до 1 мегабита.
Если вы хотите просто поразбираться, т.е. понять как это все из нутри работает то нужно пойти другим путем.
ну дык))) потому что нет нормальной документации на русском. На русском устаешь книги читать по 600 стариниц, а там мануал на англйском.
Я бы разобрался на уровне ассма как работать с УСБ, сам длл написал, чтобы никто не парился больше.
Я бы разобрался на уровне ассма как работать с УСБ, сам длл написал, чтобы никто не парился больше.
gen писал(а):сам длл написал, чтобы никто не парился больше.
Желательно еще со и либ с маном по вызовам.
Народ помогите разобраться с работой с USB модемом под Linux.
Вообщем есть USB модем, при присоединении к компу он определяется и настраивается , подключение осуществляется.
Как осуществить посылку AT комманды на этот модем?
В винде это делалось очень просто. Используя компоненты synaser посылалась AT команда в COM порт на котором стоял модем.
А вот под linux никак не могу понять, как мне в usb порт отправлять эту команду (данные)...Я так понимаю нужно просто переделать команду в последовательность байт и записать в порт.
Вообщем есть USB модем, при присоединении к компу он определяется и настраивается , подключение осуществляется.
Как осуществить посылку AT комманды на этот модем?
В винде это делалось очень просто. Используя компоненты synaser посылалась AT команда в COM порт на котором стоял модем.
А вот под linux никак не могу понять, как мне в usb порт отправлять эту команду (данные)...Я так понимаю нужно просто переделать команду в последовательность байт и записать в порт.
dionic
Обращаешься как к COM порту с именем ttyUSB* (*-цифра устройства в системе).
Обращаешься как к COM порту с именем ttyUSB* (*-цифра устройства в системе).
