hello, i hanve a problem when i use usb transfer data to pc with ep1, sdk 17.0,nrf52840dongle
I have many data(more than 100KB) transfer to pc,when I send the data for once,is OK,i want to transfer the data 1K at once in loop, but the pc received data is wrong
the transfer function is blow:
nrfx_err_t send_img_ep1(void const * p_data, size_t size)
{
nrf_drv_usbd_transfer_t transfer =
{
.p_data = {.tx = p_data},
.size = size,
.flags = 1
};
if ((size > NRF_DRV_USBD_EPSIZE) && (size % NRF_DRV_USBD_EPSIZE == 0))
{
transfer.flags |= NRFX_USBD_TRANSFER_ZLP_FLAG;
}
// app_usbd_ep_transfer(NRF_DRV_USBD_EPIN1, &transfer);
nrfx_err_t code = nrf_drv_usbd_ep_transfer(NRF_DRV_USBD_EPIN1, &transfer);
usbd_ep1_complete = false;
nrf_gpio_pin_toggle(ASIC_RESET_PIN);
return code;
}