Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 02.03.2016, 09:35  
SMACK
Временная регистрация
 
Регистрация: 23.05.2006
Сообщений: 60
Сказал спасибо: 8
Сказали Спасибо 1 раз в 1 сообщении
SMACK на пути к лучшему
По умолчанию Re: STM32 + USB HID

64 байта эта длинна одного пакета, который может быть передан в текущий момент. Но сама транзакция может быть куда больше, просто она будет разделена на какое то количество пакетов по 64 байт
Реклама:
SMACK вне форума  
Непрочитано 16.06.2016, 20:06  
EugenPKH
Прописка
 
Регистрация: 08.10.2009
Сообщений: 101
Сказал спасибо: 2
Сказали Спасибо 11 раз(а) в 10 сообщении(ях)
EugenPKH на пути к лучшему
По умолчанию Re: STM32 + USB HID

У меня тоже возник небольшой вопрос про HID, есть две TLC мышь и клавиатура , когда HOST запрашивает данные для какой коллекции я должен давать ответ , и как ответить есть одновременно и мышь и клавиатура сработала .
EugenPKH вне форума  
Непрочитано 17.06.2016, 07:19  
pambaru
Почётный гражданин KAZUS.RU
 
Регистрация: 24.03.2007
Сообщений: 1,330
Сказал спасибо: 85
Сказали Спасибо 596 раз(а) в 361 сообщении(ях)
pambaru на пути к лучшему
По умолчанию Re: STM32 + USB HID

Сообщение от EugenPKH Посмотреть сообщение
У меня тоже возник небольшой вопрос про HID, есть две TLC мышь и клавиатура , когда HOST запрашивает данные для какой коллекции я должен давать ответ , и как ответить есть одновременно и мышь и клавиатура сработала .
Думаю, сначала нужно посмотреть протокол обмена при подключении к компу, тогда много прояснится.
Возьмите программу типа USBlyzer, посмотрите логи обмена данными.
pambaru на форуме  
Непрочитано 17.06.2016, 09:28  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: STM32 + USB HID

Похоже, просто устройство комплексное. Самое сложное - правильная конфигурация. А потом данные просто идут по разным endpoint'ам.
Easyrider83 вне форума  
Непрочитано 17.06.2016, 11:17  
EugenPKH
Прописка
 
Регистрация: 08.10.2009
Сообщений: 101
Сказал спасибо: 2
Сказали Спасибо 11 раз(а) в 10 сообщении(ях)
EugenPKH на пути к лучшему
По умолчанию Re: STM32 + USB HID

Сообщение от pambaru Посмотреть сообщение
Думаю, сначала нужно посмотреть протокол обмена при подключении к компу, тогда много прояснится.
Возьмите программу типа USBlyzer, посмотрите логи обмена данными.
USBlyzer ничего не покажет кроме дискрипторов . Я сам делаю на стм устройство и так как не знаю как правильно ответить хосту то и передачи не будет.
EugenPKH вне форума  
Непрочитано 17.06.2016, 11:27  
EugenPKH
Прописка
 
Регистрация: 08.10.2009
Сообщений: 101
Сказал спасибо: 2
Сказали Спасибо 11 раз(а) в 10 сообщении(ях)
EugenPKH на пути к лучшему
По умолчанию Re: STM32 + USB HID

Сообщение от Easyrider83 Посмотреть сообщение
Похоже, просто устройство комплексное. Самое сложное - правильная конфигурация. А потом данные просто идут по разным endpoint'ам.
Код:
   0x05, 0x01, /* Usage Page (Generic Desktop)             */
    0x09, 0x02, /* Usage (Mouse)                            */
    0xA1, 0x01, /* Collection (Application)                 */
    0x09, 0x01, /*  Usage (Pointer)                         */
    0xA1, 0x00, /*  Collection (Physical)                   */
    0x85, 0x01,  /*   Report ID  */
    0x05, 0x09, /*      Usage Page (Buttons)                */
    0x19, 0x01, /*      Usage Minimum (01)                  */
    0x29, 0x03, /*      Usage Maximum (03)                  */
    0x15, 0x00, /*      Logical Minimum (0)                 */
    0x25, 0x01, /*      Logical Maximum (0)                 */
    0x95, 0x03, /*      Report Count (3)                    */
    0x75, 0x01, /*      Report Size (1)                     */
    0x81, 0x02, /*      Input (Data, Variable, Absolute)    */
    0x95, 0x01, /*      Report Count (1)                    */
    0x75, 0x05, /*      Report Size (5)                     */
    0x81, 0x01, /*      Input (Constant)    ;5 bit padding  */
    0x05, 0x01, /*      Usage Page (Generic Desktop)        */
    0x09, 0x30, /*      Usage (X)                           */
    0x09, 0x31, /*      Usage (Y)                           */
    0x15, 0x81, /*      Logical Minimum (-127)              */
    0x25, 0x7F, /*      Logical Maximum (127)               */
    0x75, 0x08, /*      Report Size (8)                     */
    0x95, 0x02, /*      Report Count (2)                    */
    0x81, 0x06, /*      Input (Data, Variable, Relative)    */
    0xC0, 0xC0,/* End Collection,End Collection            */
//
    0x09, 0x06, /*		Usage (Keyboard)                    */
    0xA1, 0x01, /*		Collection (Application)            */
    0x85, 0x02,  /*   Report ID  */
    0x05, 0x07, /*  	Usage (Key codes)                   */
    0x19, 0xE0, /*      Usage Minimum (224)                 */
    0x29, 0xE7, /*      Usage Maximum (231)                 */
    0x15, 0x00, /*      Logical Minimum (0)                 */
    0x25, 0x01, /*      Logical Maximum (1)                 */
    0x75, 0x01, /*      Report Size (1)                     */
    0x95, 0x08, /*      Report Count (8)                    */
    0x81, 0x02, /*      Input (Data, Variable, Absolute)    */
    0x95, 0x01, /*      Report Count (1)                    */
    0x75, 0x08, /*      Report Size (8)                     */
    0x81, 0x01, /*      Input (Constant)    ;5 bit padding  */
    0x95, 0x05, /*      Report Count (5)                    */
    0x75, 0x01, /*      Report Size (1)                     */
    0x05, 0x08, /*      Usage Page (Page# for LEDs)         */
    0x19, 0x01, /*      Usage Minimum (01)                  */
    0x29, 0x05, /*      Usage Maximum (05)                  */
    0x91, 0x02, /*      Output (Data, Variable, Absolute)   */
    0x95, 0x01, /*      Report Count (1)                    */
    0x75, 0x03, /*      Report Size (3)                     */
    0x91, 0x01, /*      Output (Constant)                   */
    0x95, 0x06, /*      Report Count (1)                    */
    0x75, 0x08, /*      Report Size (3)                     */
    0x15, 0x00, /*      Logical Minimum (0)                 */
    0x25, 0x65, /*      Logical Maximum (101)               */
    0x05, 0x07, /*  	Usage (Key codes)                   */
    0x19, 0x00, /*      Usage Minimum (00)                  */
    0x29, 0x65, /*      Usage Maximum (101)                 */
    0x81, 0x00, /*      Input (Data, Array)                 */
    0xC0        /* 		End Collection,End Collection       */
вот 2 коллекции о которых я говорил как я должен разделить endpoint ? Сейчас в системе у меня 2 устройства и когда я передаю данные я просто меняю id. вопрос одновременно я могу передать 2 репорта разных по одним endpoint ?
EugenPKH вне форума  
Непрочитано 17.06.2016, 12:09  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: STM32 + USB HID

Я сейчас боюсь соврать, но у вас как раз комплексное устройство и Report ID и есть ваш endpoint, с которым вы будете работать с каждым устройством отдельно.
Хост будет опрашивать оба endpoint'а т.к. вы их объявили ему в дескрипторе.
Т.е. вы просто складываете данные в endpoint и ждете, когда хост их оттуда заберет.
Easyrider83 вне форума  
Непрочитано 17.06.2016, 14:36  
EugenPKH
Прописка
 
Регистрация: 08.10.2009
Сообщений: 101
Сказал спасибо: 2
Сказали Спасибо 11 раз(а) в 10 сообщении(ях)
EugenPKH на пути к лучшему
По умолчанию Re: STM32 + USB HID

Сообщение от Easyrider83 Посмотреть сообщение
Я сейчас боюсь соврать, но у вас как раз комплексное устройство и Report ID и есть ваш endpoint, с которым вы будете работать с каждым устройством отдельно.
Хост будет опрашивать оба endpoint'а т.к. вы их объявили ему в дескрипторе.
Т.е. вы просто складываете данные в endpoint и ждете, когда хост их оттуда заберет.
Report ID не равняется endpoint, EP у меня всегда 0x81, а репорты 1 2
EugenPKH вне форума  
Непрочитано 17.06.2016, 15:20  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,581
Сказал спасибо: 115
Сказали Спасибо 806 раз(а) в 583 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: STM32 + USB HID

Сообщение от EugenPKH Посмотреть сообщение
когда HOST запрашивает данные для какой коллекции я должен давать ответ , и как ответить есть одновременно и мышь и клавиатура сработала
Сначала отправить пакет для одного события, потом — для другого.
Мой рабочий пример. Если делать не как я, а по уму, то события нужно помещать в циклический буфер и при обращении хоста отплевывать ему очередную порцию данных.
__________________
Смерть бандеровской мразоте!
eddy вне форума  
Непрочитано 20.06.2016, 08:33  
pambaru
Почётный гражданин KAZUS.RU
 
Регистрация: 24.03.2007
Сообщений: 1,330
Сказал спасибо: 85
Сказали Спасибо 596 раз(а) в 361 сообщении(ях)
pambaru на пути к лучшему
По умолчанию Re: STM32 + USB HID

Тут надо разобраться, не до конца понятен вопрос - энумерация уже прошла?
Если да, и идет уже общение с HID, то при запросе репорта выдается его номер.
Например (из моего рабочего проекта с HID) запрос на Get_Feature выглядит так (обмен данными через EP0):

PHP код:
SETUPDAT[0]=0xA1
SETUPDAT
[1]=0x01
SETUPDAT
[2]=0xAB //report ID 
Вот третий байт в Setup пакете и есть id репорта, который нужно отправить.

Цитата:
USBlyzer ничего не покажет кроме дискрипторов
Думаю, тут Вы не правы.
Показывает и парсит, в том числе setup пакеты.
Скриншот во вложении.
Миниатюры:
Нажмите на изображение для увеличения
Название: ul.gif
Просмотров: 0
Размер:	11.6 Кб
ID:	94939  
pambaru на форуме  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Печатная плата USBee AX picavr Барахолка электронных компонентов 950 20.08.2023 17:11
STM32F4 USB HID составление репорта swat24 ARM 40 20.02.2014 12:59
Помогите разобраться USB Device - HID - Joystick redb Микроконтроллеры, АЦП, память и т.д 6 11.03.2010 14:20
USB HID девайс на 18F13K50 не хочет работать. DK Микроконтроллеры, АЦП, память и т.д 17 26.02.2010 18:31
USB HID PIC18F4550 нужна помощь! tower2007 Микроконтроллеры, АЦП, память и т.д 0 17.04.2008 04:33


Часовой пояс GMT +4, время: 19:42.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot