Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: usb cdc stm32
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
Нортон
Здравствуйте.

Разбираюсь с USB. Конкретнее с CDC (виртуальный COM порт), реализую на микроконтроллере STM32(L). Библиотека от ST это просто кошмар, поэтому решил написать свою на основе библиотеки от keil. У keil есть реализация HID устройства, а CDC нет.
Читая Агурова и статьи в интернете, уже кое-чего добился проходит инициализация – читаются дескрипторы, на ПК подключается драйвер и даже можно найти новый COM порт и открыть его в терминале. А вот с передачей и приемом у меня проблемы – я никак не пойму с какого момента заканчивается общение с нулевой конечной точкой и начинается общение с другими конечными точками.
При отладке последовательность запросов у меня такая:
1. GET_DESCRIPTOR_DEVICE (дескриптор устройства)
2. SET_ADRESS
3. GET_DESCRIPTOR_DEVICE (дескриптор конфигурации)
4. SET_CONFIGURATION
5. SET_LINE_CODING
6. GET_LINE_CODING
7. SET_CONTROL_LINE_STATE
8. При открытии виртуального порта в терминале опять SET_LINE_CODING

А далее ничего не происходит, даже когда я передаю данные через терминал. Хотя USB не отваливается и продолжает работать дальше.
У меня такие вопросы.
1. Что должно происходить дальше? Какие запросы обрабатываться?
2. Что нужно сделать при запросе SET_CONFIGURATION? Я при этом запросе только включаю/настраиваю остальные(не конфигурационные) конечные точки и то не уверен, что правильно?
3. Как и когда правильно настраивать не конфигурационные конечные точки – по дескрипторам конечных точек или нужно учитывать какую-то информацию при запросе с ПК?
Вроде пока больше вопросов не вспомню.
Заранее благодарю за любую помощь.

P.S. Может у кого есть пример для cdc usb, хотя-бы даже для другого микроконтроллера.
adnega
Пройдитесь поиском по форуму. Я выкладывал usb_cdc для stm32 (http://electronix.ru/forum/index.php?showtopic=111955&st=15).
Lotor
Цитата(Нортон @ Apr 9 2014, 12:07) *
Библиотека от ST это просто кошмар

Но оно работает. Хорошо живете, если есть время писать своё. =)
Нортон
Цитата(adnega @ Apr 9 2014, 12:31) *
Пройдитесь поиском по форуму. Я выкладывал usb_cdc для stm32 (http://electronix.ru/forum/index.php?showtopic=111955&st=15).


Спасибо, буду разбираться.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.