Estoy trabajando con USB HID en stm32f072. En la solicitud Get_Report, tengo que enviar datos a una PC host a través de Control Transfer Endpoint. Estoy tratando de hacerlo. Pero está enviando siempre algunos datos erróneos. Si quiero elaborar el problema, eso es
case HID_REQ_GET_REPORT:
if(req->wValue==PID_POOL_BLOCK_REPORT){
buf[0] = 0x07;
buf[1] = 0xFF;
buf[2] = 0xFF,
buf[3] = 0x0A;
buf[4] = 0x02;
if(USBD_LL_FlushEP (pdev, 0x00)==USBD_OK){
USBD_CtlSendData (pdev,
buf,
5);
}
}
Pero el envío de datos es en realidad "0xF6 0x3A 0x82 0x28 0x45". No tengo ni idea de lo que está pasando dentro. Lo he intentado con el lavado del punto final también. Pero parece que no funciona. ¿Qué hacer realmente? Cualquier pista por favor. Gracias.