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

 
 
 
Reply to this topicStart new topic
> usb cdc stm32, Вопрос
Нортон
сообщение Apr 9 2014, 08:07
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 9-04-11
Пользователь №: 64 246



Здравствуйте.

Разбираюсь с 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, хотя-бы даже для другого микроконтроллера.

Сообщение отредактировал Нортон - Apr 9 2014, 08:07
Go to the top of the page
 
+Quote Post
adnega
сообщение Apr 9 2014, 08:31
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Пройдитесь поиском по форуму. Я выкладывал usb_cdc для stm32 (http://electronix.ru/forum/index.php?showtopic=111955&st=15).
Go to the top of the page
 
+Quote Post
Lotor
сообщение Apr 9 2014, 10:47
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 476
Регистрация: 3-07-07
Из: Санкт-Петербург
Пользователь №: 28 866



Цитата(Нортон @ Apr 9 2014, 12:07) *
Библиотека от ST это просто кошмар

Но оно работает. Хорошо живете, если есть время писать своё. =)


--------------------
Ковырял чукча отверткой в ухе, звук в телевизоре и пропал.
Go to the top of the page
 
+Quote Post
Нортон
сообщение Apr 10 2014, 02:09
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 9-04-11
Пользователь №: 64 246



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


Спасибо, буду разбираться.

Сообщение отредактировал Нортон - Apr 10 2014, 02:09
Go to the top of the page
 
+Quote Post

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

 


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


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