I am trying to do a bulk transfer on one of my USB ping-pong endpoints.
I use wire shark to monitor the USB traffic and I cannot see the data I send.
I never send data more than the size of the end point so at least for starting, I am not worried about ping-pong. I just want to send a buffer <64 bytes and see it on the
Here is what I do, please let me know if I am missing something:
void SendUdp(uint8_t ep, const void* dataP, uint32_t len)
const uint8_t *data = (const uint8_t*)dataP;
while (UDP->UDP_CSR[ep] & (1 << CSR_TXPKTRDY)); //wait for CSR_TXPKTRDY clear
for(i = 0; i < len; i++)
UDP->UDP_FDR[ep] = *data++;
//set CSR_TXPKTRDY to notify the micro the buffer is ready to be send
udpCsrBitsSetClear(ep, 1 << CSR_TXPKTRDY, 0);
// In the UDP interrupt handler I do this
if (csr & (1 << CSR_TXCOMP))
udpCsrBitsSetClear(0, 0, 1 << CSR_TXCOMP);