mic_arm 0 16 февраля, 2018 Опубликовано 16 февраля, 2018 · Жалоба Привет всем! Понадобилось мне тут сделать девайс на STM32F407 и подключить его к хосту через USB. Но только чтобы контрольную точку содержал и конечные точки типа bulk. Помогите разобраться с чего начать и может есть какието примеры. Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mcheb 0 16 февраля, 2018 Опубликовано 16 февраля, 2018 · Жалоба Скачайте с сайта ST CubeMX и будет Вам счастье. На 407 Работает из коробки. На других может не заработать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mic_arm 0 16 февраля, 2018 Опубликовано 16 февраля, 2018 · Жалоба а какой класс необходимо выбрать при конфигкрации (CDC, HID, MSC...)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mcheb 0 16 февраля, 2018 Опубликовано 16 февраля, 2018 (изменено) · Жалоба http://microsin.net USB in a NutShell Чтение информации из интернета вслух - 100 евро в час Изменено 16 февраля, 2018 пользователем mcheb Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
deni 6 16 февраля, 2018 Опубликовано 16 февраля, 2018 · Жалоба Для Bulk лучше использовать класс WinUSB. Тогда можно использовать драйвер winusb в Windows и linusb в Linux, и работать уже из пользовательского режима. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
toweroff 1 16 февраля, 2018 Опубликовано 16 февраля, 2018 · Жалоба а какой класс необходимо выбрать при конфигкрации (CDC, HID, MSC...)? Я брал MSC, выбрасывал реализацию SCSI, оставляя только две точки IN/OUT Под Win можно и libusb использовать, драйвер генерится утилитой Zadig на счёт раз Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mic_arm 0 16 февраля, 2018 Опубликовано 16 февраля, 2018 · Жалоба Я брал MSC, выбрасывал реализацию SCSI, оставляя только две точки IN/OUT Под Win можно и libusb использовать, драйвер генерится утилитой Zadig на счёт раз Спасибо за наводку. Тут дело вот в чём... мне необходимо сделать клон некоего девайса. Сей девайс работает на булках (судя по перехвату пакетов дескрипторов) и не является каким либо стандартным устройством (устанавливается свой хитрый драйвер)... Есть небольшой опыт работы с HID и VCP, а вот с таким устройством впервые сталкиваюсь. По сути необходимо сделать реверс инжиниринг... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
toweroff 1 16 февраля, 2018 Опубликовано 16 февраля, 2018 · Жалоба Если идентичные дескрипторы, устройство одинаково реагирует на пакеты в булке OUT, то целевая программа и не заметит подмены, причём на любом контроллере, не только F407 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dachny 0 17 февраля, 2018 Опубликовано 17 февраля, 2018 · Жалоба а какой класс необходимо выбрать при конфигкрации (CDC, HID, MSC...)? WinUSB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 17 февраля, 2018 Опубликовано 17 февраля, 2018 · Жалоба Скачайте с сайта ST CubeMX и будет Вам счастье. На 407 Работает из коробки. На других может не заработать. Прекрасный совет! Но там совершенно адский USB-стек. Мухи, котлеты активно замешаны с индусским рисом и карри в единое трудноделимое нечто. Отрывать от него лишнее и подсовывать своё очень неудобно. Я делал на основе LibOpenCM3 - пишем дескриптор (да, предварительно надо покурить USB in Nutshell), инициализируем нужные endpoint'ы - и всё, готово, можно обмениваться данными. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Hiehachi 0 20 февраля, 2018 Опубликовано 20 февраля, 2018 (изменено) · Жалоба LibUSB32 под винду. И полная кастрация MSC реализации (как toweroff советовал)с STM32 Stdlib, чтоб осталось только 3 usb функции ;). Собственно один раз чик и на долгое время хватит. Изменено 20 февраля, 2018 пользователем картошка Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mic_arm 0 28 февраля, 2018 Опубликовано 28 февраля, 2018 · Жалоба Вроде что-то начало получаться. Демоплата встала под драйвера libusb... но вот новая напасть, ктонить знает чем отлаживать всё это дело? В смысле есть ли в природе что-то типа терминалок, чтобы принимать/отправлять bulk-пакеты? Я в сети ничего подобного найти не смог. Заранее спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
toweroff 1 28 февраля, 2018 Опубликовано 28 февраля, 2018 · Жалоба Вроде что-то начало получаться. Демоплата встала под драйвера libusb... но вот новая напасть, ктонить знает чем отлаживать всё это дело? В смысле есть ли в природе что-то типа терминалок, чтобы принимать/отправлять bulk-пакеты? Я в сети ничего подобного найти не смог. Заранее спасибо! Так в примерах libusb было же. Открываем устройство, интерфейс и шлем в булку Строк на сях работы с девайсом десятка два Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mic_arm 0 28 февраля, 2018 Опубликовано 28 февраля, 2018 · Жалоба Так в примерах libusb было же. Открываем устройство, интерфейс и шлем в булку Строк на сях работы с девайсом десятка два В примерах да, исходники есть. Я надеялся, что есть уже собраные утилитки для этого, как для ком-порта. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mic_arm 0 4 марта, 2018 Опубликовано 4 марта, 2018 (изменено) · Жалоба И вновь здрасти!!! Воюю с булками с переменным успехом... утилитку для приёма / отправки сообщений собрал в Qt, вроде работает... По ходу пьесы возникло вот такое наблюдение, если я посылаю с компа пакет OUT и в обработчике пакета OUT на стороне микроконтроллера выкладываю в буфер IN данные для передачи на комп, то всё работает как часы. Но если я просто хочу забрать пакет с контроллера (читаю конечную точку IN ), то ничего не читается. Изучая материалы по USB я понял что хост может просто читать конечную точку IN без предварительной записи точки OUT... Подскажите где я ошибаюсь? Спасибо! Изменено 4 марта, 2018 пользователем mic_arm Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться