Перейти к содержанию

Bismark

Members
  • Постов

    56
  • Зарегистрирован

  • Посещение

Информация

  • Город
    Киев

Электроника

  • Стаж в электронике
    1-2 года

Достижения Bismark

Новобранец

Новобранец (2/14)

  • 10 постов на форуме
  • Неделя на форуме
  • Месяц на форуме
  • Год на форуме

Последние значки

1

Репутация

  1. Доброго времени суток! Вот занялся связью AVR с компом по USB и как раз попались мне статьи с использованием HID и соответственно hidlibrary.h. Сделал устройство, описанное в статье http://cxem.net/comp/comp129.php, а оно, в свою очередь основывается на http://we.easyelectronics.ru/electro-and-pc/usb-dlya-avr-chast-2-hid-class-na-v-usb.html. Прошитый контроллер нормально определяется системой, показывает VID и PID, и даже готовый софт (в первой статье) нормально с ним взаимодействует. А вот написать свой софт не выходит... Обнаружилось, что функция int connect() // этой функцией будем подключаться к устройству { int i, n, res = 0; string exampleDeviceName = ""; exampleDeviceName += vendorName; exampleDeviceName += " "; exampleDeviceName += productName; n = hid.EnumerateHIDDevices(); for (i = 0; i < n; i++){ hid.Connect(i); if ( hid.GetConnectedDeviceName() == exampleDeviceName ){ res = 1; break; } } return res; } почему-то не хочет коннектиться. Выяснилось, что код if ( hid.GetConnectedDeviceName() == exampleDeviceName ){ res = 1; break; } нормально не отрабатывает, то есть hid.GetConnectedDeviceName() всегда возвращает пустую строку. Проверка подтвердила, что счетчик устройств не равен нулю, а в моем случае находит два устройства - мышку и подключенный контроллер. Кто-то сталкивался с такой проблемой? Почему функция не выводит названия устройств? Писал софт на С++ Builder 2007. Встречал заметки, что на билдер ставили какой-то апдейт, но я так понял что говорили о версии 6 и соответственно update 4. Пробовал установить эту версию (с апдейтом), однако результат компиляции софта был таким же. Система - Windows 7 SP1 x64
×
×
  • Создать...