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

 
 
 
Reply to this topicStart new topic
> Чтение HID-джойстика
muravei
сообщение Jul 10 2014, 12:59
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



Читаю ReadFile, но она подвешивает программу: даже при закрытии, пока не пнешь джойстик, она не закроется.
Может нужно узнавать , было ли изменение положения, и после переходить к чтению.
Пробовал HidD_GetInputReport, но как-то неудачно sad.gif , впрочем как и Агуров.Его hidtest тоже GetInputReport-ом не читает.
Go to the top of the page
 
+Quote Post
Voldemari4
сообщение Jul 11 2014, 06:58
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 5-05-14
Из: Минск
Пользователь №: 81 582



На C# делаю через класс FileStream и асинхронный метод BeginRead. Правда с системными устройствам и не пробовал. Раньше пользовался на Delphi библиотекой компонентов Jedi library, там есть готовый компонент для HID с асинхронным приемом данных.
Go to the top of the page
 
+Quote Post
muravei
сообщение Jul 11 2014, 11:07
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



Цитата(Voldemari4 @ Jul 11 2014, 10:58) *
На C# делаю через класс FileStream и асинхронный метод BeginRead.

Может кинете примерчиком?
Я, правда, чистом Си, так хоть для опытов.
Go to the top of the page
 
+Quote Post
Voldemari4
сообщение Jul 11 2014, 12:12
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 5-05-14
Из: Минск
Пользователь №: 81 582



Вот, собственно сам проект (Visual Studio 2010 C# .NET 4) и в добавок файл с дескрипторами HID устройства с которым я тестировал эту программу.
Прикрепленные файлы
Прикрепленный файл  USBCsharp.rar ( 272.48 килобайт ) Кол-во скачиваний: 9
 
Go to the top of the page
 
+Quote Post
muravei
сообщение Jul 11 2014, 12:37
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



Спасибо, попробую.
Go to the top of the page
 
+Quote Post
SlavaV
сообщение Jul 19 2014, 12:44
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 100
Регистрация: 13-06-06
Из: г.Улан-Удэ
Пользователь №: 18 024



я думаю проблема в асинхронном вводе, на С++ заполняется структура OVERLAPPED в ней регистрируется функция обратного вызова (это ключевой момент асинхронного ввода/вывода)
смотрите в этом направлении
Go to the top of the page
 
+Quote Post

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

 


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


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