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

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

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

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

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

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


 
Опции темы
Непрочитано 09.02.2021, 13:49  
worldmasters
Гражданин KAZUS.RU
 
Регистрация: 21.02.2007
Сообщений: 551
Сказал спасибо: 37
Сказали Спасибо 17 раз(а) в 16 сообщении(ях)
worldmasters на пути к лучшему
По умолчанию Re: STM32_HID Windows 10 Low Speed

Сообщение от pambaru Посмотреть сообщение
Тогда Sleep вообще убрать, зачем он там нужен.
И стабильность будет определяться только железом - частотой отправки пакетов.
Без слипа поток начинает нехило грузить систему ... Все ресурсы на себя тянет. Thread.Sleep(0) вроде как советуют МС но оно не спасает.
Реклама:
worldmasters вне форума  
Непрочитано 09.02.2021, 14:57  
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,447
Сказал спасибо: 96
Сказали Спасибо 318 раз(а) в 233 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: STM32_HID Windows 10 Low Speed

Код:
0x06, 0x00, 0xFF,                   // USAGE_PAGE (Vendor Defined Page 1)
0x09, 0x01,                         // USAGE (Vendor Usage 1)
0xA1, 0x01,                         // COLLECTION (Application)

0x09, 0x01,                         // USAGE (Vendor Usage 1)
0x15, 0x00,                         // LOGICAL_MINIMUM (0)
0x26, 0xFF, 0x00,                   // LOGICAL_MAXIMUM (255)
0x75, 0x08,                         // REPORT_SIZE (8)
0x95, 0x20,                         // REPORT_COUNT
0x81, 0x00,                         // INPUT

0x09, 0x01,                         // USAGE (Vendor Usage 1)
0x15, 0x00,                         // LOGICAL_MINIMUM (0)
0x26, 0xFF, 0x00,                   // LOGICAL_MAXIMUM (255)
0x75, 0x08,                         // REPORT_SIZE (8)
0x95, 0x20,                         // REPORT_COUNT
0x91, 0x00,                         // OUTPUT

0xC0                                // END_COLLECTION
Для двух точек (IN и OUT) по 32 байта. Без FEATURE.

Последний раз редактировалось Godzilla82; 09.02.2021 в 14:59.
Godzilla82 вне форума  
Сказали "Спасибо" Godzilla82
worldmasters (09.02.2021)
Непрочитано 09.02.2021, 15:26  
worldmasters
Гражданин KAZUS.RU
 
Регистрация: 21.02.2007
Сообщений: 551
Сказал спасибо: 37
Сказали Спасибо 17 раз(а) в 16 сообщении(ях)
worldmasters на пути к лучшему
По умолчанию Re: STM32_HID Windows 10 Low Speed

Сообщение от Godzilla82 Посмотреть сообщение
Код:
0x06, 0x00, 0xFF,                   // USAGE_PAGE (Vendor Defined Page 1)
0x09, 0x01,                         // USAGE (Vendor Usage 1)
0xA1, 0x01,                         // COLLECTION (Application)

0x09, 0x01,                         // USAGE (Vendor Usage 1)
0x15, 0x00,                         // LOGICAL_MINIMUM (0)
0x26, 0xFF, 0x00,                   // LOGICAL_MAXIMUM (255)
0x75, 0x08,                         // REPORT_SIZE (8)
0x95, 0x20,                         // REPORT_COUNT
0x81, 0x00,                         // INPUT

0x09, 0x01,                         // USAGE (Vendor Usage 1)
0x15, 0x00,                         // LOGICAL_MINIMUM (0)
0x26, 0xFF, 0x00,                   // LOGICAL_MAXIMUM (255)
0x75, 0x08,                         // REPORT_SIZE (8)
0x95, 0x20,                         // REPORT_COUNT
0x91, 0x00,                         // OUTPUT

0xC0                                // END_COLLECTION
Для двух точек (IN и OUT) по 32 байта. Без FEATURE.

Прикольно. Спасибо. И идентификатор репорта не нужен будет??
worldmasters вне форума  
Непрочитано 09.02.2021, 16:30  
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,447
Сказал спасибо: 96
Сказали Спасибо 318 раз(а) в 233 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: STM32_HID Windows 10 Low Speed

Сообщение от worldmasters Посмотреть сообщение
Прикольно. Спасибо. И идентификатор репорта не нужен будет??
Ну идентификатор используется для FEATURE репортов.
Можно работать только с ними (без IN и OUT). Типа запрос-ответ. Сколько раз когда надо - столько раз и запросили - столько раз прибор и ответил. Ни разу не надо - ни разу из прибора ничего передавать не придётся.

А ваш репорт странный. Минимум 0 - максимум 1. Это для байта-то?
Да и максимум кодируется 3 байтами, а не двумя, как у вас.
Для FEATURE репорта у вас даже размер не указан.
Минимум и максимум надо указать для каждого репорта (IN, OUT, FEATURE).
Да и сама константа INPUT (OUTPUT) - это 0x81, 0x00 (0x91, 0x00), а у вас 0x81, 0x82 (0x91, 0x82).
Godzilla82 вне форума  
Непрочитано 09.02.2021, 16:42  
pambaru
Почётный гражданин KAZUS.RU
 
Регистрация: 24.03.2007
Сообщений: 1,330
Сказал спасибо: 85
Сказали Спасибо 596 раз(а) в 361 сообщении(ях)
pambaru на пути к лучшему
По умолчанию Re: STM32_HID Windows 10 Low Speed

Сообщение от worldmasters Посмотреть сообщение
Без слипа поток начинает нехило грузить систему ...
Очень странно. При синхронном чтении не должен. Он все равно в функции чтения висеть в функции будет бОльшую часть времени. Система это разруливает.

P.S. Решил проверить.

Подключил HID-девайс, читаю в бесконечном цикле через ReadFile синхронно (параметр lpOverlapped = 0).
Загрузка ЦП - 0%.
pambaru на форуме  
Непрочитано 09.02.2021, 16:46  
pambaru
Почётный гражданин KAZUS.RU
 
Регистрация: 24.03.2007
Сообщений: 1,330
Сказал спасибо: 85
Сказали Спасибо 596 раз(а) в 361 сообщении(ях)
pambaru на пути к лучшему
По умолчанию Re: STM32_HID Windows 10 Low Speed

Ааа, вы еще через ReadReport читаете? Так это ж асинхронная процедура вроде, она через CONTROL ENDPOINT идет, насколько помню. Вам нужно через in-out endpoint вести обмен, и пользоваться readfile и writefile. Тогда и никаких слипов не нужно.
pambaru на форуме  
Непрочитано 09.02.2021, 18:42  
NewWriter
Почётный гражданин KAZUS.RU
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,504
Сказал спасибо: 401
Сказали Спасибо 2,217 раз(а) в 1,315 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: STM32_HID Windows 10 Low Speed

А вы желаете именно low-speed, который на 1,5 Мбит/с? У вас длинный юсб-кабель и на full-speed сбоит?
Потому что на LS, если мне не изменяет память, максимум 8 байт полезной нагрузки впакете. А вы хотите 32 байта.
(напомню, что режим LS задается резистором подтяжки на DM, а FS - резистором на DP). И я не уверен, может ли кубовская библиотека нормально работать в LS.
Ну и у вас данные нужны 200 раз в секунду, то есть через каждые 5 мс. А вы и интервал опроса неправильно поставили - 2 мс. 1/200 = 0005.

Кстати, если задача передавать данные, то почему именно HID, а не CDC в виде Virtual ComPort?

Последний раз редактировалось NewWriter; 09.02.2021 в 22:39.
NewWriter вне форума  
Непрочитано 10.02.2021, 09:21  
worldmasters
Гражданин KAZUS.RU
 
Регистрация: 21.02.2007
Сообщений: 551
Сказал спасибо: 37
Сказали Спасибо 17 раз(а) в 16 сообщении(ях)
worldmasters на пути к лучшему
По умолчанию Re: STM32_HID Windows 10 Low Speed

Сообщение от pambaru Посмотреть сообщение
Очень странно.
Да на самом деле не странно. Но видимо да, задержка на ожидание чтения должна будет сделать свое дело. Попробую.


Сообщение от pambaru Посмотреть сообщение
пользоваться readfile и writefile
Так других способов то и нету.


Сообщение от NewWriter Посмотреть сообщение
А вы желаете именно low-speed, который на 1,5 Мбит/с?
В данном случае подразумевается низкая скорость работы а не режим. И STM32 в LS режиме не работает. По крайней мере к кубе этот режим не выставить.


Сообщение от NewWriter Посмотреть сообщение
А вы и интервал опроса неправильно поставили - 2 мс. 1/200 = 0005.
Это я уже понял. Поправлю.

Сообщение от NewWriter Посмотреть сообщение
Кстати, если задача передавать данные, то почему именно HID, а не CDC в виде Virtual ComPort?
Какая принципиальная разница то?? Вообще основная причина это уровень пользователей. Нужно ставить руками драйвер порта, потом пользователи могут чего то там натворить с портами и вызвать кучу проблем с оборудованием.
worldmasters вне форума  
Непрочитано 10.02.2021, 11:34  
pambaru
Почётный гражданин KAZUS.RU
 
Регистрация: 24.03.2007
Сообщений: 1,330
Сказал спасибо: 85
Сказали Спасибо 596 раз(а) в 361 сообщении(ях)
pambaru на пути к лучшему
По умолчанию Re: STM32_HID Windows 10 Low Speed

Сообщение от worldmasters Посмотреть сообщение
Так других способов то и нету.
Можно еще через GetInputReport, GetFeature. Вполне себе можно передавать данные, я так делал. Но этот способ, по моему, как раз и будет загружать процессор. Но надо проверить, пока некогда.

Сообщение от worldmasters Посмотреть сообщение
Да на самом деле не странно. Но видимо да, задержка на ожидание чтения должна будет сделать свое дело. Попробую.
Возможно, чтобы не система не грузилась при ожидании, тип читаемой Endpoint должен быть interrupt. Во всяком случае, я тестирую на interrupt - точно не грузит систему без всяких sleep.
pambaru на форуме  
Непрочитано 10.02.2021, 15:03  
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,447
Сказал спасибо: 96
Сказали Спасибо 318 раз(а) в 233 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: STM32_HID Windows 10 Low Speed

Ну для чтения данных с устройства есть GetReport с параметром (INPUT, OUTPUT, FEATURE).
Для записи данных в устройство - SetReport с параметром (INPUT, OUTPUT, FEATURE).
Но это работа в режиме запрос-ответ. Входных и выходных конечных точек для них не нужно.
Входные и выходные конечные точки - это ReadFile и WriteFile.
Godzilla82 вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ускорить компьютер 7Fantomas7 Ремонт оргтехники 111 08.08.2018 05:27
Программирование программатором STERH 007 PIC микроконтроллеров ispitatel1 Песочница (вопросы новичков) 4 17.04.2017 17:18
Виндовс 8 Caxaroza Ремонт оргтехники 322 28.10.2013 00:12
Видеоуроки, видеообзоры, видеоинструкции... Kroom73 Делимся опытом 39 19.06.2011 15:41
Техногенная катастрофа и что с ней теперь делать VOVOKA Отвлекитесь, эмбеддеры! 122 05.01.2011 19:23


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


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