У ST есть примеры USB CDC для STM32 (именно USB-UART).Может кто-нибудь уже знает такие решения?
Ручная настройка USB
Re: Ручная настройка USB
Разница между теорией и практикой на практике гораздо больше, чем в теории.
- Реклама
- B@R5uk
- Собутыльник Кота
- Сообщения: 2896
- Зарегистрирован: Сб ноя 13, 2010 12:53:25
- Откуда: приходит весна?
Re: Ручная настройка USB
YS, а можете ссылочку кинуть?
Re: Ручная настройка USB
Это не про V-USB речь? А подробностей про это "дырявое решение" не вспомните? Хочется посмотреть из академического интереса. Про доступ через hid.dll знаю - но где там bulk - В HID общение всё больше control запросами идёт.B@R5uk писал(а):Я видел довольно извращённый вариант на 8-ой меге с ногодрыгом, но он страдает нарушением стандартов: мега не способна держать никакой режим, кроме самого медленного, а в нём не поддерживается (по стандарту) Bulk-отправка. Поэтому изобретатели этого чудесного решения нашли в дровах винды дыру и заэксплойтили её. Разумеется, для других систем/более новых версий винды такое решение не прокатит.
Всякое уменьшение Энтропии в Подлунном - суть дело богоугодное и извратом быть не может по определению - речь скорее о осмысленности такого мучительно способа извлечения адреналина из недр межушного пространства, когда, к примеру, можно взять бюджетный PIC и, не приходя в сознание, собрать готовый пример из MLA, на любой вкус - CDC, MSD, HID, Audio. Или из Атмеловских с железной реализацией как вам уже подсказали.B@R5uk писал(а):Хотелось бы что-нибудь грамотное либо с аппаратным USB, либо на более быстром контроллере (хотя за счёт быстроты МК ногодрыг извратом быть не перестанет).
Одновременным нажатием LIGHT и POWER, РП Sangean ATS-909X (ver 1.29) превращается в ATS-909XR! 
Re: Ручная настройка USB
У ST есть инструмент под названием STM32 CubeMX. Это кодогенератор, который позволяет настроить большинство периферии, включая USB, совершенно не используя мозг. В нем есть опция генерации кода USB HID и USB CDC.YS, а можете ссылочку кинуть?
Еще есть STM32Cube USB Device Library, тоже поддерживает CDC.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
- B@R5uk
- Собутыльник Кота
- Сообщения: 2896
- Зарегистрирован: Сб ноя 13, 2010 12:53:25
- Откуда: приходит весна?
Re: Ручная настройка USB
Так ведь одной инициализации мало. Виртуальный последовательный порт должен принимать данные по UART (это я знаю как делается), формировать из них пакеты каким-то образом и отправлять по USB. Причём он делает это не когда заблагорассудится а по запросу хоста. То же самое и с приёмом. Хотелось бы разобраться в готовом решении, тем более, что оно типовое и востребованное.
- Реклама
Re: Ручная настройка USB
Если это намёк на poll-природу USB коммуникаций, то, с точки зрения программы в устройстве, когда ему заблагорассудится оно и отдаст используемой USB библиотеке эти данные на отсылку, последняя запишет в interrupt endpoint соотвествующую статус-информацию, драйвер USB контроллерa на PC при следующем цикле опроса считает этот статус и дёрнет обработчик соответствующщего прерывания в драйвере устройства - драйвер-же устройства с урчанием в животе подорвётся читать пришедшие данные с bulk endpoint устройства. Иными словами, хотя опустошение ближайшего почтового яшика и производится раз в день по приезде почтовой машинки - это никоим образом не мешает нам опустить письмо в ящик когда нам заблагорассудится. Но, поскольку в названии темы речь о "ручной настройке", видимо подразумевается, что такой машинки (библиотеки) нету - значит придется самим звонить на почту (выставлять прерывание) и собственноручно передавать посылку приехавшему почтальону.B@R5uk писал(а):Причём он делает это не когда заблагорассудится а по запросу хоста.
Одновременным нажатием LIGHT и POWER, РП Sangean ATS-909X (ver 1.29) превращается в ATS-909XR! 
Re: Ручная настройка USB
Вы, однако, недооцениваете мощь костыля под названием STM32 CubeMX.Так ведь одной инициализации мало.
Я уже писал выше, что готовый пример HID есть в поставке USB FS Device Lib. Окей, вот вам прямая ссылка на страницу. Но имейте в виду, что прямые ссылки на страницы сайта ST имеют свойство портиться со временем.
STSW-STM32121 - сама библиотека. Там есть пример CDC.
STSW-STM32102 - драйвер для Windows.
Я вам сразу сочувствую, это будет непросто. К сожалению, вся политика STMicroelectronics построена на продвижении разнообразных протезов для мозга и никак не поощряет изучение того, как их продукция работает внутри. У них нет нормальных туториалов. Документация делится на два типа - это либо хардкорные мануалы (которые они, похоже, выкладывают только потому, что не выкладывать их было бы совсем некрасиво), либо красочные буклеты про то, как натыкать код мышкой. Промежуточное звено отсутствует совершенно.Хотелось бы разобраться в готовом решении, тем более, что оно типовое и востребованное.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
- B@R5uk
- Собутыльник Кота
- Сообщения: 2896
- Зарегистрирован: Сб ноя 13, 2010 12:53:25
- Откуда: приходит весна?
Re: Ручная настройка USB
Как так? Вроде же должно со стандартным работать?YS писал(а):драйвер для Windows.
Блин, оно там ещё не через CMSIS, а через HAL делается. Ненавижу эту хрень.
Re: Ручная настройка USB
Как уже было писано, Windows надо объяснить, что к данным VID/PID надо привязать имеющийся драйвер.Вроде же должно со стандартным работать?
Про политику ST я тоже уже писал.Блин, оно там ещё не через CMSIS, а через HAL делается.
Хотя, кстати, ядро USB там написано на основе прямого доступа к регистрам. Каша, короче.
Разница между теорией и практикой на практике гораздо больше, чем в теории.


