This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

USB CDC-Device fails reading after some thousand bytes

Hello together! I'm having trouble with the USB CDC-Device Class. After sending some thousand of bytes from the Host (PC, Win 7/8) to my devices (NXP LPC1769/1778) the communication fails.
For example:
After sending a packet of 1002 bytes, the function USBD_CDC_ACM_GetChar() repeats "-1" after reading of 960 bytes. So there seems to be 42 bytes missing. Then, after sending the next packet of 12 bytes, USBD_CDC_ACM_GetChar() does not return the short telegram, but the missing 42 bytes. Exactly after the last byte of the old (large) telegram, the function starts repeating "-1" again. The new (12 byte) telegram is just not recognized. After repeated sending of the 12 byte packet, USBD_CDC_ACM_GetChar() suddenly repeats both (12 byte) telegrams. This is very strange behaviour to me. Seems as if all bytes where received correct inside RL-USB, but the handler is doing something wrong in there.

Any idea what i could do next?

I am using MDK 4.70 and usb_config.c is configured as following:
Bulk Endpoint Settings
. Bulk In Endpoint Number 2
. Bulk Out Endpoint Number 2
. Endpoint Settings
.. Maximum Packet Size 64
Communication Device Settings
. Maximum Comm Dev Send Buffer 1024
. Maximum Comm Dev Recv Buffer 1024

Parents Reply Children
No data