STM32 HAL_PCD_EP_Transmitir trabajar solo una vez

0

Estoy desarrollando un dispositivo USB compuesto con el Nucleo-F446ZE. Estoy agregando un puerto com virtual y tengo algunos problemas para enviar datos. Recibo todo desde la computadora, pero cuando intento devolver algo, funciona solo una vez. Entonces el EP- > xfer_count sigue en cero y el estado HAL siempre es 0.

//usbd_conf.c

HAL_PCDEx_SetRxFiFo(&hpcd, 0x40);
HAL_PCDEx_SetTxFiFo(&hpcd, 0, 0x20);
HAL_PCDEx_SetTxFiFo(&hpcd, 1, 0x20);
HAL_PCDEx_SetTxFiFo(&hpcd, 2, 0x10);
HAL_PCDEx_SetTxFiFo(&hpcd, 3, 0x20);
HAL_PCDEx_SetTxFiFo(&hpcd, 4, 0x10);
HAL_PCDEx_SetTxFiFo(&hpcd, 5, 0x20);

//init

USBD_LL_OpenEP(pdev,
             CDC_IN_EP, //0x85
             USBD_EP_TYPE_BULK,
             CDC_DATA_FS_MAX_PACKET_SIZE); //64

USBD_LL_OpenEP(pdev,
             CDC_OUT_EP, //0x03
             USBD_EP_TYPE_BULK,
             CDC_DATA_FS_MAX_PACKET_SIZE); //64



//The receive/send back function

dataLen = USBD_GetRxCount (pdev, epnum);
Hstatus = HAL_PCD_EP_Transmit(pdev->pData, CDC_IN_EP, VCP_recv, dataLen);
HAL_PCD_EP_Receive (pdev->pData,
    CDC_OUT_EP,
    VCP_recv,
    CCID_BULK_EPOUT_SIZE);           
    
pregunta user2740652

1 respuesta

1

De hecho, funcionaba a la perfección. Es solo Windows quien ignoró los mensajes debido a this

    
respondido por el user2740652

Lea otras preguntas en las etiquetas