Змінюй хід війни! Допомагай ЗСУ!

delete

🔴 21:08 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
Статус: Offline
Реєстрація: 06.08.2008
Повідом.: 50
Оголошень: 2
  • 🔴 21:08 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #1
delete
 
Останнє редагування:
  • 🔴 21:08 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #2
Класс HID как был слейвом,так слейвом и останется и будет он отвечать хосту только по его,хоста, запросу.
103-й камень имеет на борту USB-device, но не host, хостом страдают камни с USB-OTG(105,107)
Можно ли более подробнее прояснить задачу?
 
  • 🔴 21:08 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #3
Спасибо за ответ.


Дело в том, что между MCU и ПК должен стоять Хаб.

А Хаб ведь не поддерживает ОТГ...

Правильно?


Задача простая: MCU, имея свою небольшую местную клавиатуру задания команд для ПК, должен отправлять по нажатию на клавишу код стандартной (как стандартная клавиатура ПК) команды.
ПК должен оперативно эту команду отработать.

Удобнее всего такое сделать бы по прерыванию от MCU.
 
  • 🔴 21:08 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #4
Возьмите у ST библиотеку STM32_USB-FS-Device_Lib_V4.0.0 ,например.
В папке /Projects найдите прожект Custom_HID и доработайте его до своих нужд.
Не получится - поищите в сети RHIDDemo, примеров и прожектов - большой вагон и маленький тележка.
 
  • 🔴 21:08 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #5
Спасибо.

Меня же всё убеждают, что такой режим обмена по прерыванию не возможен.
 
  • 🔴 21:08 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #6
Щось мені здається, що ТС тупо не розуміє як працює юсб.

Навіщо якісь переривання для клави? Твій хід буде опитуватись хостом з якоюсь частотою, шли у відповідь свої коди команд при натисненні.
 
  • 🔴 21:08 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #7
Спасибо.

Меня же всё убеждают, что такой режим обмена по прерыванию не возможен.

Складывайте информацию от устройства в буфер,хоть по прерыванию,хоть поллингом. Винда поллит подключенное устройство каждую миллисекунду и калбэк события SOF отдаст инфу хосту.
Почитайте книгу Агурова "Практика программирования USB" - многие вопросы станут ясными.
 
  • 🔴 21:08 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #8
Щось мені здається, що ТС тупо не розуміє як працює юсб.

Навіщо якісь переривання для клави? Твій хід буде опитуватись хостом з якоюсь частотою, шли у відповідь свої коди команд при натисненні.

Ну, если бы ТС "розумив", то и вопросов бы и не было...

На самом деле, тема USB очень объемна (взять только одни спецификации и пр.).

А ТС - не программер, он собственно, по аналогу, по схемам.

Поэтому, так и получается.


Постоянный опрос смущает тем, что ПК - может быть портативным, мобильным, iDevice, а устройство HID - однозначно портативное, питается от своей батареи.

ПК через хаб (упомянутый выше) постоянно передает поток данных также в устройство.

Дополнительный постоянный опрос устройства - это загрузка ПК и потребление ПК и устройства собственно.

Поэтому, хочется изыскать возможность обмена по прерыванию от HID-устройства.

Складывайте информацию от устройства в буфер,хоть по прерыванию,хоть поллингом. Винда поллит подключенное устройство каждую миллисекунду и калбэк события SOF отдаст инфу хосту.
Почитайте книгу Агурова "Практика программирования USB" - многие вопросы станут ясными.

1. Техническая возможность реализации обмена, желаемого и описанного в стартпосте существует?

2. *Винда поллит подключенное устройство каждую миллисекунду*
Такое происходит и даже в (возможном) случае обмена по прерыванию от HID?

3. *Почитайте книгу Агурова... *
Смотрел ее и другие.
Показалось, что описание там, как-то в "общем"...

Для схемотехника-аналоговика сложная задача переварить такое.

Поэтому, он решил взять "помощь клуба".
 
  • 🔴 21:08 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #9
Постоянный опрос смущает тем, что ПК - может быть портативным, мобильным, iDevice, а устройство HID - однозначно портативное, питается от своей батареи.

ПК через хаб (упомянутый выше) постоянно передает поток данных также в устройство.

Дополнительный постоянный опрос устройства - это загрузка ПК и потребление ПК и устройства собственно.

Поэтому, хочется изыскать возможность обмена по прерыванию от HID-устройства.
Кажу ж - не розумієш, як працює юсб.

Мишка, клава та будь-що інше працює саме так - опитування N разів в секунду. І щось не гальмує систему твою. Да і процу пох, якщо є зовнішнє живлення.
Хід по командам до 1кГц.

Почитай про юсб ліби для стм. Знайди найпростішу, що шле 0-1 в залежності від натискання кнопки та допили, щоб слало коди команд. Ну і драйвер для хосту( пк, телефон тощо), який вже таки ловитиме переривання від системи та опрацьовуватиме отримані дані. Ну і остаточний софт, що ловитиме переривання від драйвера( а точніше переривання системи, викликані перериваннями драйверу).
 
  • 🔴 21:08 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #10
Кажу ж - не розумієш, як працює юсб.

Мишка, клава та будь-що інше працює саме так - опитування N разів в секунду. І щось не гальмує систему твою. Да і процу пох, якщо є зовнішнє живлення.
Хід по командам до 1кГц.

*Кажу ж - не розумієш, як працює юсб.*

Так разве кто спорит?

Вопрос - к Знатокам.


*Мишка, клава та будь-що інше працює саме так - опитування N разів в секунду.*

Т-е, желаемый обмен по прерыванию технически не реализуем?


*Хід по командам до 1кГц.*

Закончите мысль, пожалуйста.
А то не понятно.

Почитай про юсб ліби для стм. Знайди найпростішу, що шле 0-1 в залежності від натискання кнопки та допили, щоб слало коди команд. Ну і драйвер для хосту( пк, телефон тощо), який вже таки ловитиме переривання від системи та опрацьовуватиме отримані дані. Ну і остаточний софт, що ловитиме переривання від драйвера( а точніше переривання системи, викликані перериваннями драйверу).

Спасибо, передам Ваш совет программисту.
 
  • 🔴 21:08 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #11
Блін, ну почитай як працює юсб.
В будь-якому режимі хост опитує УСІ слеви з якоюсь частотою.
 
  • 🔴 21:08 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #12
А драйвера? Если вы избавляетесь от HID то и подхватывать устройство некому.
 
  • 🔴 21:08 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #13
Блін, ну почитай як працює юсб.
В будь-якому режимі хост опитує УСІ слеви з якоюсь частотою.

А, то есть режим прерывания от HID нет смысла реализовывать вообще?

ТС теперь правильно понял идеологию рекомендаций?

А драйвера? Если вы избавляетесь от HID то и подхватывать устройство некому.

Это, наверное, вопрос к tifo?

Что это значит?
 
  • 🔴 21:08 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #14
Так, нічого не треба вигадувати.
Все, що тобі треба - правити один єдиний дескриптор-відповідь. А точніше не його, а лише буфер данних, підсовуючи туди код команди при натисненні кнопки. Ну або нулі чи ще щось( як у софтині хосту реалізуєш).

Тобто при натисненні кнопки суєш в буфер код команди. Вона передається при наступному опитуванні юсб хостом. По перериванню чи відпусканню кнопки пишеш нулі чи ще щось - вже залежить від реалізації в софті на пк.
 
  • 🔴 21:08 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #15
Так, нічого не треба вигадувати.
Все, що тобі треба - правити один єдиний дескриптор-відповідь. А точніше не його, а лише буфер данних, підсовуючи туди код команди при натисненні кнопки. Ну або нулі чи ще щось( як у софтині хосту реалізуєш).

Спасибо.

Уже лучше.


А о чем это товарищ Me1 говорит:

"А драйвера? Если вы избавляетесь от HID то и подхватывать устройство некому." ?
 
  • 🔴 21:08 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #16
Это мысли вслух. Если отходить от HIDовских записать\прочитать\посмотреть со стороны хоста, и влезать в более глубокие дебри, то стандартные дрова уже подхватываться не будут, надо будет делать свои и прослойку которая будет интерпретировать их для системы.
 
  • 🔴 21:08 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #17
Хз до чого він те написав.
Звичайно я маю на увазі, що використовувати ХІД. Вигадувати свій класс та писати дрова, коли треба реалізувати ссану клаву, то збочення.
 
  • 🔴 21:08 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #18
Это мысли вслух. Если отходить от HIDовских записать\прочитать\посмотреть со стороны хоста, и влезать в более глубокие дебри, то стандартные дрова уже подхватываться не будут, надо будет делать свои и прослойку которая будет интерпретировать их для системы.

Спасибо.

Мысли по сути - будут очень кстати.


Т-е, это в случае реализации первоначально рассмотренного в теме обмена по прерыванию от HID, т-е "влезать в более глубокие дебри" , так что-ли?
 
  • 🔴 21:08 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #19
А разве HID устройства могут в принципе генерировать прерывания?
 
  • 🔴 21:08 Повітряна тривога в Харківський районСлідкуйте за подальшими повідомленнями.#Харківський_район
  • #20
Назад
Зверху Знизу