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

 
 
> STM32F103 USB, Что то не получается.
MALLOY2
сообщение Jul 7 2010, 08:46
Сообщение #1


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Толи я что то забыл, толи что то не дочитал давно уже не занимался USB.

Суть проблемы.
Инициализирую USB, получаю ресет от компа, получаю Setup пакет размером 8 байт с содержимым
Код
0x80, 0x60, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00


Все как бы честно запрос дескриптора, но поля wValue и wLength равны нули, из за чего я перехожу в STALL, сначала думал что что то не так копирую, посмотрел в отладчике прямо PMA область, там теже значения, что я делаю не так ?

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Forger
сообщение Jul 7 2010, 11:35
Сообщение #2


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

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(MALLOY2 @ Jul 7 2010, 12:46) *
Толи я что то забыл, толи что то не дочитал давно уже не занимался USB.

Суть проблемы.
Инициализирую USB, получаю ресет от компа, получаю Setup пакет размером 8 байт с содержимым
Код
0x80, 0x60, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00


Все как бы честно запрос дескриптора, но поля wValue и wLength равны нули, из за чего я перехожу в STALL, сначала думал что что то не так копирую, посмотрел в отладчике прямо PMA область, там теже значения, что я делаю не так ?

Я бы посоветовал вам не придумывать заново реализацию протокола USB, а воспользоваться уже готовой библиотекой от производителя: STM32_USB-FS-Device_Lib (на данный момент свежая версия v3.2.0):
http://www.st.com/stonline/products/suppor...iles/um0424.zip
http://www.st.com/stonline/products/literature/um/13465.pdf

Утилита для компа "USB HID demo" с исходниками:
http://www.st.com/stonline/products/suppor...iles/um0551.zip
http://www.st.com/stonline/products/literature/um/14711.pdf

Я за день прикрутил эти исходники в свой проект (у меня среда CrossWorks),
Так мое устройство (HID) сразу заработало как надо.
Нужно было лишь подправить под себя один файл - дискрипторы (descr.c)
и откорректировать все H файлы из STM32_USB-FS-Device_Lib, чтобы проект собирался, поскольку у меня смесь CPP и C файлов (стандартная запись с применением extern "C" {...} )



--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
Danis
сообщение Apr 9 2012, 10:40
Сообщение #3


Twilight Zone
***

Группа: Свой
Сообщений: 454
Регистрация: 17-02-09
Из: Челябинск
Пользователь №: 44 990



Цитата(Forger @ Jul 7 2010, 14:35) *
Я бы посоветовал вам не придумывать заново реализацию протокола USB, а воспользоваться уже готовой библиотекой от производителя: STM32_USB-FS-Device_Lib (на данный момент свежая версия v3.2.0):


Все-таки, у меня возникли некие затруднения при работе с этой библиотекой. Я уже запускал VCP на STM32F103XX, работало все хорошо. Тоже самое для STM32F2xx уже с новой USB ”либой”, немного не корректно работает. Например, пакет размером 64 байта не желает по каким-то причинам выходить из контроллера в ПК. Если «пулять» 63 или 65 байт, все выходит и данные можно считать в ПК. Дальше, при программном буфере USB Rx 2048 байт, у меня теряется каждый 16-тый пакет принятый от ПК. Если увеличиваю этот буфер в 10 раз, то теряется в 10 раз меньше, мистика конечно, но чудес не бывает, надо дебажить все и разбираться, че там не так. Вот мое субъективное мнение.


--------------------
Magic Friend
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 6th September 2025 - 13:21
Рейтинг@Mail.ru


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