I'm developing firmware for MK20 (DX256 and DN512) using CW10.3, Processor Expert and ARM Toolchain.
I've imported into CW10.3 the following components for using the USB as CDC to talk to a terminal emulator on PC (Real Term/HyperTerminal):
1) USB_CDC_CLASS - Version Component 01.000, Driver 01.00, CPU db: 3.00.000
2) USB_DEVICE_STACK Version Component 01.027, Driver 01.00, CPU db: 3.00.000.
The problem I'm facing is that when my MPU receives a character from the PC Terminal but doesn't transmit any answer, then the MPU USB is not able to receive further characters, it seems the receiving part of the USB is disabled.
I bypassed this situation transmitting a dummy byte (0x00) for each character received but this could not be a solution in case of using any kind of protocol to exchange data between my MPU and a PC.
This problem also arise if the PC transmits a number of character (i.e. 8 bytes): after properly receiving these 8 bytes, any further receiving is "disabled" if my MPU does not send anything back.