Hello Peter, the FIFO RAM is the memory builtin into the USB controller hardware, which is 1280 bytes (fix) for the STM32U585. In order to get the UVC sample running you have to reduce the video endpoint size in the application to something <= 512 bytes: #define ISO_EP_SIZE 512 This makes the video transfer very slow, but the STM32U585 has a full-speed controller only, which is not recommended for video applications anyway. Best Regards Rainer
Simply call USBD_BULK_Receive( hInst, &c, 1, -1 ); It returns 1, if you got a byte, It returns 0 if there is no data.
The function USBD_BULK_GetNumBytesInBuffer() never triggers a read, it only check for bytes in the buffer. If you never call any read function, then the buffer will be always empty. Please use USBD_BULK_Receive(..., Timeout = -1) instead.