реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> HID и VCP на одном контроллере можно сделать?
A.Lex
сообщение Nov 28 2016, 15:27
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 138
Регистрация: 27-12-11
Пользователь №: 69 107



Вопрос ламерский, но однозначного ответа пока не нашел.
Исходные данные: МК STM32xxx, один порт USB, переключатель HID/VCP.
Реализуемо? Если ДА, то где бы глянуть пример.
Go to the top of the page
 
+Quote Post
x893
сообщение Nov 28 2016, 16:44
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 333
Регистрация: 27-10-08
Из: Планета Земля
Пользователь №: 41 226



Можно и без переключателя. То есть одновременно.
Примеры как обычно можно глянуть
https://github.com/x893/CMSIS-DAP
Go to the top of the page
 
+Quote Post
A.Lex
сообщение Nov 28 2016, 17:04
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 138
Регистрация: 27-12-11
Пользователь №: 69 107



Спасибо, посмотрю!
Go to the top of the page
 
+Quote Post
esaulenka
сообщение Dec 1 2016, 10:06
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Я именно такую штуку делал. На libopencm3.
Главное - погуглить usb composite device, понять, как создать нужный дескриптор, и склеить два примера.

Ну или "готовое" можно взять:
Цитата(STM32_USB-Host-Device_Lib_V2.2.0)
The examples provide a composite device.
A composite device is one that has multiple interfaces controlled independently of each other.
Using composite device, multiple functions are combined into a single device.
In this Example the independent interfaces are : HID and VCP (CDC).

The implementation of the composite CDC-HID device is done by creating a wrapping
class (see folder hid_cdc_wrapper ) that makes calls to the separate CDC and HID class layer
handlers (files usb_cdc_core.c and usb_hid_core.c files).

To test the demo, you can run HID mouse example and in same time you can
do a USB to USART communication by opening a serial terminal window (like hyperterminal)
and selecting the STM32 virtual comport (you need to follow same steps as the CDC virtual comport example).


Кавычки у слова "готовое" - не спроста. Шаг в сторону, и сразу всё ломается.


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
A.Lex
сообщение Dec 5 2016, 14:30
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 138
Регистрация: 27-12-11
Пользователь №: 69 107



Спасибо за совет, скоро придется этим заняться.

Дело для нас новое, неосвоенное...

Сообщение отредактировал A.Lex - Dec 5 2016, 14:32
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Dec 5 2016, 22:30
Сообщение #6


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Для примера, как у меня делается - динамическое создание дескрипторов. Возможно, Вам не потребуется, но мне очень помогло, когда делал AUDIO + пара компортов (CDC) в одном устройстве.
Работает с этим у меня слегка вычищенный USB стэк из CubeMX на F4 и F7. И самописное на RENESAS RZ/A, исходники открыты.


Сообщение отредактировал Genadi Zawidowski - Dec 5 2016, 22:35
Прикрепленные файлы
Прикрепленный файл  composite.zip ( 19.74 килобайт ) Кол-во скачиваний: 35
 
Go to the top of the page
 
+Quote Post
A.Lex
сообщение Dec 6 2016, 03:58
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 138
Регистрация: 27-12-11
Пользователь №: 69 107



Большое спасибо, наличие работающих реализаций значительно упрощает работу.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Dec 8 2016, 09:15
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Genadi Zawidowski @ Dec 6 2016, 01:30) *
Работает с этим у меня слегка вычищенный USB стэк из CubeMX на F4 и F7. И самописное на RENESAS RZ/A, исходники открыты.

Я, кстати, в таких случаях обычно использую USB-стек из примеров IAR (в частности для LPC17xx). Там написано всё просто, без лишнего нагромождения функций. Вся работа с железом вынесена в один файл. И никаких кубов и прочих либ - всё через регистры IO. Под свои нужды переделывается легко и быстро. Я даже портировал эти примеры на другие МК.
Так что - рекомендую.
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Dec 8 2016, 18:53
Сообщение #9


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Спасибо. Выложить можете?
Go to the top of the page
 
+Quote Post
jcxz
сообщение Dec 13 2016, 13:59
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Genadi Zawidowski @ Dec 8 2016, 21:53) *
Спасибо. Выложить можете?

А что выложить? Я же говорю - из примеров IAR для LPC17xx беру - в IAR-е все есть. И там обычно несколько примеров разных.
Go to the top of the page
 
+Quote Post
toweroff
сообщение Dec 13 2016, 14:33
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(jcxz @ Dec 13 2016, 16:59) *
из примеров IAR для LPC17xx

да и в Keil есть
в настройках USB знай себе галки ставь, какой класс поддерживать
Go to the top of the page
 
+Quote Post
esaulenka
сообщение Dec 13 2016, 15:12
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



В кейле кроме галок и готовых бинарников ничего нет.


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
toweroff
сообщение Dec 13 2016, 18:45
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(esaulenka @ Dec 13 2016, 18:12) *
В кейле кроме галок и готовых бинарников ничего нет.

ну здрасьте
это для CMSIS-RTOS нет, а для RTX-то?
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Dec 14 2016, 18:41
Сообщение #14


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Цитата(jcxz @ Dec 8 2016, 12:15) *
Я даже портировал эти примеры на другие МК

Я про это.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Dec 19 2016, 11:02
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Genadi Zawidowski @ Dec 14 2016, 21:41) *
Я про это.

Извините - не могу. Под "другими" здесь имелся в виду OMAP-L137. Проект на нём коммерческий и, согласно подписанному договору, я не имею права выкладывать его исходники.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 20:12
Рейтинг@Mail.ru


Страница сгенерированна за 0.01473 секунд с 7
ELECTRONIX ©2004-2016