Estoy tratando de manejar el host USB como MSC y HID en STM32F4, tengo una placa de descubrimiento STM32F407 y una PCB de diseño personalizado basada en STM32F407.
Estoy usando el compilador Keil y la biblioteca de ST STD Periph, y para USB usando STM32_USB-Host-Device_Lib_V2.1.0 (y V2.2.0). Para la parte de MSC, después de algunos intentos funcionó y sé que puedo leer y escribir datos en una memoria USB. Pero para HID no funciona correctamente. He probado muchos proyectos en ambas tarjetas con muchos dispositivos HID (mouse, kbd, escáner de código de barras, ...), en todos los casos, la tarjeta detecta la conexión del dispositivo y su velocidad, pero no avanza más. En realidad, permanece en el estado HOST_CTRL_XFER y no completa la fase de enumeración (encontré esto en el modo de depuración, la MCU funciona pero se repite en algunas funciones).
Como el documento ST dice que es una etapa intermedia que se debe pasar:
Pero para mí no pasa con éxito.
Editado:
Creo que tengo problemas con la configuración del descriptor para el dispositivo HID, no sé cómo puedo editar el descriptor para pasar con éxito desde la fase de enumeración.