Форум программистов, компьютерный форум CyberForum.ru

Управление USB - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 51, средняя оценка - 4.88
янгл
 Аватар для янгл
6 / 6 / 0
Регистрация: 23.07.2009
Сообщений: 237
04.01.2011, 18:58     Управление USB #1
Здравствуйте. Нужно научиться управлять внешним устройством через USB. Возможно ли с помощью программ на языке C управлять USB?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2011, 18:58     Управление USB
Посмотрите здесь:

управление памятью C++
Управление временем C++
C++ Управление строками
Управление памятью C++
C++ управление окнами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
04.01.2011, 19:28     Управление USB #2
Цитата Сообщение от янгл Посмотреть сообщение
Возможно ли с помощью программ на языке C управлять USB?
да. . .!
янгл
 Аватар для янгл
6 / 6 / 0
Регистрация: 23.07.2009
Сообщений: 237
04.01.2011, 20:04  [ТС]     Управление USB #3
Данные передаются по 2-v проводам D- и D+ и по двум питание. Как передаются данные по USB?
PB
Просто прогер
1277 / 1064 / 11
Регистрация: 13.03.2009
Сообщений: 2,502
05.01.2011, 01:08     Управление USB #4
Цитата Сообщение от янгл Посмотреть сообщение
Как передаются данные по USB?
Изучайте http://www.usb.org

С каким USB устройством нужно работать?

PS.
Тут есть пример USB устройства на микроконтроллере и исходник проги для компа, работающей с этим устройством.
янгл
 Аватар для янгл
6 / 6 / 0
Регистрация: 23.07.2009
Сообщений: 237
05.01.2011, 20:35  [ТС]     Управление USB #5
Спасибо за ссылки. Нужно, чтобы USB выдавал коды, определённые программой. Далее эти коды будут преобразовываться логической схемой.
PB
Просто прогер
1277 / 1064 / 11
Регистрация: 13.03.2009
Сообщений: 2,502
05.01.2011, 22:10     Управление USB #6
К какому классу относится USB устройство (CDC, HID или что-то другое)?
От этого зависит метод работы с ним.
янгл
 Аватар для янгл
6 / 6 / 0
Регистрация: 23.07.2009
Сообщений: 237
06.01.2011, 13:25  [ТС]     Управление USB #7
незнаю. А как узнать? Смотрел в эвересте, но там ничего не написано про класс.
PB
Просто прогер
1277 / 1064 / 11
Регистрация: 13.03.2009
Сообщений: 2,502
06.01.2011, 14:53     Управление USB #8
Цитата Сообщение от янгл Посмотреть сообщение
А как узнать?
Устройство было готовое или самодельное?
Оно требовало драйвер или нет?

Вообще, что из себя представляет USB устройство и для чего оно предназначено?
янгл
 Аватар для янгл
6 / 6 / 0
Регистрация: 23.07.2009
Сообщений: 237
06.01.2011, 21:34  [ТС]     Управление USB #9
Я сначала думал использовать контроллер. Но, зачем, если есть комп. Т.е комп будет вычислять и управлять внешним устройством. Это самодельное устройство. То есть я его ещё не сделал. Мне нужно понять как работает USB, как передаются данные, что вообще можно с ним делать. Исходя из этого, буду проектировать устройство.
Те ссылки, которые вы мне дали на инглише. А есть, что-то толковое на русском?
PB
Просто прогер
1277 / 1064 / 11
Регистрация: 13.03.2009
Сообщений: 2,502
06.01.2011, 22:02     Управление USB #10
В любом случае, при работе с USB, нужен будет контроллер.
Там довольно сложный протокол обмена, на обычной логике его почти нереально поддержать.


Цитата Сообщение от янгл Посмотреть сообщение
А есть, что-то толковое на русском?
Вот статья на русском. 1 2 3

Ссылка была выше на пример реализации USB HID устройства на PIC и AVR контроллерах, а так же поддержка работы с ними со стороны компа.
Там все относительно просто реализовано.
янгл
 Аватар для янгл
6 / 6 / 0
Регистрация: 23.07.2009
Сообщений: 237
06.01.2011, 22:22  [ТС]     Управление USB #11
Да, точно без контроллера не обойдёшься.

Добавлено через 10 минут
А че никак иначе нельзя демодулировать? А то контроллеры дорогие((
PB
Просто прогер
1277 / 1064 / 11
Регистрация: 13.03.2009
Сообщений: 2,502
06.01.2011, 22:25     Управление USB #12
Цитата Сообщение от янгл Посмотреть сообщение
А че никак иначе нельзя демодулировать?
Слишком сложный протокол обмена. Он предусматривает не только полезные данные, но и кучу служебной информации.

Цитата Сообщение от янгл Посмотреть сообщение
А то контроллеры дорогие((
Разве 2$ это дорого?
янгл
 Аватар для янгл
6 / 6 / 0
Регистрация: 23.07.2009
Сообщений: 237
06.01.2011, 22:58  [ТС]     Управление USB #13
Ё-моё))) А я то всё про...
Так это получается, что достаточно pic контроллера для демодуляции?
PB
Просто прогер
1277 / 1064 / 11
Регистрация: 13.03.2009
Сообщений: 2,502
06.01.2011, 23:17     Управление USB #14
Цитата Сообщение от янгл Посмотреть сообщение
Так это получается, что достаточно pic контроллера для демодуляции?
Нужен PIC со встроенным модулем USB (типа PIC18F2550 или подобный).
Если нужно сделать устройство максимально дешевым, то используем практически любой AVR контроллер (например, ATmega8), у которых достаточно быстродействия для программой работы с USB без использования аппаратного модуля.
янгл
 Аватар для янгл
6 / 6 / 0
Регистрация: 23.07.2009
Сообщений: 237
07.01.2011, 01:37  [ТС]     Управление USB #15
Значит с одной стороны контроллер мы подключаем через USB к компу. А с другой?
PB
Просто прогер
1277 / 1064 / 11
Регистрация: 13.03.2009
Сообщений: 2,502
07.01.2011, 15:34     Управление USB #16
Цитата Сообщение от янгл Посмотреть сообщение
А с другой?
Что имелось в виду?

Для контроллера нужно написать программу, которая будет выполняться им и обрабатывать все USB запросы, преобразовывать их в нужный вид, формировать ответы для компа и управлять внешним устройством (скажем, включать или выключать лампочку по команде с компа).
Для компа тоже нужно написать соответствующую программу, которая сможет взаимодействовать с созданным USB устройством. А вот как будет взаимодействовать, сильно зависит от типа устройства, если это будет CDC устройство, то комп увидит его как виртуальный COM порт. Если создать HID устройство, то для работы с ним, нужно будет использовать специальные API функции. Плюс HID класса в том, что не требуется драйвер для USB устройства.
янгл
 Аватар для янгл
6 / 6 / 0
Регистрация: 23.07.2009
Сообщений: 237
07.01.2011, 17:30  [ТС]     Управление USB #17
У меня уже не одна проблема сводится к необходимости иметь дело с микроконтроллерами, даже была возможность устроится на программиста контроллеров с обучением (жаль не получилось). Вот и теперь та же фигня. Вижу много возможностей у контроллеров.
По этому у меня такой вопрос. Для программирования и работа с контроллерами нужны ли ещё какие-то аппаратные средства, ещё какие-то микросхемы? Между контроллером и компом нужно, что-то ещё включать?
PB
Просто прогер
1277 / 1064 / 11
Регистрация: 13.03.2009
Сообщений: 2,502
07.01.2011, 17:53     Управление USB #18
Цитата Сообщение от янгл Посмотреть сообщение
Вижу много возможностей у контроллеров.
Они по сути являются компами (есть процессор, оперативная память, энергонезависимые запоминающие устройства, порты ввода вывода информации и т. д.).

Цитата Сообщение от янгл Посмотреть сообщение
Для программирования и работа с контроллерами нужны ли ещё какие-то аппаратные средства, ещё какие-то микросхемы?
Как минимум, нужен программатор.
Бывают очень простые программаторы (буквально пара деталек), а бывают сложные (с разными наворотами).
Для каждого типа контроллеров свои программаторы, поэтому сначала нужно определится с типом контроллеров (PIC, AVR, ARM или что-то другое), и уже для них искать аппаратные средства (программаторы, отладчики, отладочные платы и т. д.).
янгл
 Аватар для янгл
6 / 6 / 0
Регистрация: 23.07.2009
Сообщений: 237
07.01.2011, 18:23  [ТС]     Управление USB #19
Но программаторы ведь дорого стоят. Конечно от сложности программатора зависит, но это та же история, что и с ПК. Сначала мне много не надо, потом для того-то надо по-мощнее, потом ещё мощнее и в итоге надо сразу брать мощную ЭВМ.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.01.2011, 19:17     Управление USB
Еще ссылки по теме:

C++ Управление стрелками C++
Управление змейкой C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
PB
Просто прогер
1277 / 1064 / 11
Регистрация: 13.03.2009
Сообщений: 2,502
07.01.2011, 19:17     Управление USB #20
Цитата Сообщение от янгл Посмотреть сообщение
Но программаторы ведь дорого стоят
Если дружишь с паяльником, то можно самому сделать из пары транзисторов, резисторов и диодов. Но это при условии что в компе есть COM или LPT порт.

Добавлено через 8 минут
Вот несколько схем программаторов
http://radiokot.ru/lab/controller/29/index.shtml
http://radiokot.ru/circuit/digital/pcmod/13/
http://radiokot.ru/circuit/digital/pcmod/17/
http://radiokot.ru/circuit/digital/pcmod/18/
Yandex
Объявления
07.01.2011, 19:17     Управление USB
Ответ Создать тему
Опции темы

Текущее время: 15:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru