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

dragun32

Members
  • Постов

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

  • Посещение

Электроника

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

Достижения dragun32

Новичок

Новичок (1/14)

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

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

0

Репутация

  1. Всем привет, Делаю первые шаги в программировании микроконтроллеров. Начинаю с малого - пытаюсь пощупать плату STM32F407VG через порт USB. Я так понимаю, что чтобы мне сделать своё устройство, мне надо написать код, позволяющей микроконтроллеру притворяться устройством с определённым VID (1234) и PID (0001). Я пользуюсь "MicroC PRO for ARM version 6.2.0", в котором есть встроенная утилита "HID Terminal". Вторая его кладка называется "Descriptor" и позволяет сгенерировать описательный код ("USBdsc_STM32F407VG.c"), включающий в себя как минимум: "Device Descriptor", "Configuration Descriptor", "Report descriptor", а также вышеупомянутые VID и PID. Если я сделаю include "USBdsc_STM32F407VG.c" в начале основного файла с кодом и оставлю функцию "main()" как бесконечный цикл, затем прошью микроконтроллер, то... При подключении платы к ПК с Windows 10 я ожидаю увидеть неизвестное устройство в "Диспетчере устройств", сообщающее, что VID это 1234, а PID=0001. Вместо этого я получаю "Ошибка получения дескриптора устройства USB" на несколько секунд, приводящее к отключению устройства и код ошибки 45 ("Сейчас это устройство не подключено к компьютеру" -> оно исчезает из Диспетчера устройств). Я попробовал и готовый пример для платы STM32F407VG расположенный здесь: "...\mikroC PRO for ARM\Examples\ST\Other\USB HID Bootloader\Projects\STM32F407VG\". Успешно скомпилировано и прошито, но результат тот же (код 45). Вопросы: 1) А на какой стадии надо устанавливать драйвер? Правильно ли, что прежде всего я должен увидеть устройство в Диспетчере устройств Windows с заданными мной кодами VID и PID? 2) USB 2.0 это 5V, а плата микроконтроллера 3V. Это имеет какое-нибудь значение? Есть ли разница при подключении к порту USB 2.0 или к порту USB 3.0? 3) Может это быть аппаратные проблемы microUSB порта на плате? 4) Что-нибудь упустил? Огромное спасибо за помощь.
×
×
  • Создать...