STM32 и USB. Отправка данных с хоста
Добавлено: Ср июл 06, 2016 10:03:02
Всем привет. Недавно реализовал USB на STM32F103. По некоторым причинам пришлось быстро переброситься на STM32F4.
Создал на Кубе проект с custom HID device. Настроил. Написал репорт. Устройство определяется в системе. Но при попытке открыть
его с хоста (CreateFile), неизменно возвращается INVALID. Другие устройства открываются успешно (кроме мыши и
клавиатуры, что понятно по естественным причинам). Но свое открыть не могу.
Использую код.(кусок)
тут я и параметры менял и дескрипторы репортов разные ставил. Хоть бы что. Влез с головой в буржуйские
мануалы. Хоть начал больше понимать, как дескриптор репорта строится. Но.. проблема главная с CreateFile.
В какую сторону ткнуться, чтобы получить валидный handle устройства??
Вот скрин моей программы. Полностью рабочая. Другие девайсы успешно открываются поэтому причина не на стороне хоста.

Создал на Кубе проект с custom HID device. Настроил. Написал репорт. Устройство определяется в системе. Но при попытке открыть
его с хоста (CreateFile), неизменно возвращается INVALID. Другие устройства открываются успешно (кроме мыши и
клавиатуры, что понятно по естественным причинам). Но свое открыть не могу.
Использую код.(кусок)
Код: Выделить всё
file = CreateFile ( wstr,
GENERIC_READ /*| GENERIC_WRITE */,
0/*|FILE_SHARE_WRITE*/,
0, // no SECURITY_ATTRIBUTES structure
OPEN_EXISTING, // No special create flags
FILE_FLAG_OVERLAPPED, // No special attributes
NULL);
if (file == INVALID_HANDLE_VALUE) {
ShowMessage("Cannot Open");
}мануалы. Хоть начал больше понимать, как дескриптор репорта строится. Но.. проблема главная с CreateFile.
В какую сторону ткнуться, чтобы получить валидный handle устройства??
Вот скрин моей программы. Полностью рабочая. Другие девайсы успешно открываются поэтому причина не на стороне хоста.

А этот путь получен функцией GetDevicePath. Ну это все есть в той библитеке что я уже говорил.