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

 
 
> STM32 USBTMC host?, Кто нибудь делал?
khach
сообщение Nov 24 2013, 10:46
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741



Добрый день!
Возникла необходимость организовать общение STM32F4 с измерительным прибором по USB. Прибор при работе с копьютером использует NI VISA, т.е скорее всего соответсвует классу USBTMC (test and measurement). В связи с этим разыскиваются исходники ХОСТА для STM32F4 для класса USBTMC. Или выслушаю советы по допилке существующих хостов под данный класс.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Real_Bastard
сообщение Dec 11 2013, 20:53
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 7-11-06
Из: Санкт-Петербург
Пользователь №: 22 041



Цитата(khach @ Dec 11 2013, 20:05) *
Проблема в том, что никогда хост не писал, и как его переделывать- пока имею смутное предположение.

Берется демо библиотека Хоста от СТМ. В ее инициализации есть указатель на пользовательский класс _Device_cb.
Необходимо реализовать 4 функции
Цитата
● Init: this function is called at the startup of a class operation for assuring all required
initializations. This includes:
– Parsing interface and endpoint descriptors (please note that the current USB host
library supports only one interface).
– Opening and allocating host channels for non-control endpoints,
– Calling a user callback, in case the device is not supported by the class.
● Denit: this function is called for freeing allocated host channels when re-initializing the
host. It is called when a device is unplugged or in case of unrecovered error.
● Requests: this function implements the class request state machine. It is called during
the HOST_CLASS_REQUEST state. It is used to process initial class requests.
● Machine: implements the class core state machine. It is called during the
HOST_CLASS core state.

В примерах есть реализация этих функций для ХИДа и массСторейджа.

Ну и так же в инициализацию пихается указатель на класс USR_Callbacks, который плюется мессагами типа
Цитата
> USB host Library started.
> Device attached
> High speed detected.
VID:0483h
PID: 3251h

Но с библиотеками от СТМ есть такая проблема, что в них периодически встречаются (или подразумеваются) комментарии в стиле "эта функция могла бы вернуть ошибку, но мы это не реализовали...". Иногда спасает версия посвежее. Как-то две недели пытался понять почему один ЮСБ джойстик работает идеально, а второй подвисает. Оказалось что PIDы DATA0 и DATA1, которые как бы должны чередоваться, этого делать не хотят...
Go to the top of the page
 
+Quote Post



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

 


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


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