\r
Endpoint_SelectEndpoint(CDCInterfaceInfo->Config.DataOUTEndpointNumber);\r
\r
- if (Endpoint_IsOUTReceived() && !(Endpoint_BytesInEndpoint()))\r
- Endpoint_ClearOUT();\r
+ if (Endpoint_IsOUTReceived())\r
+ {\r
+ if (!(Endpoint_BytesInEndpoint()))\r
+ Endpoint_ClearOUT();\r
\r
- return Endpoint_BytesInEndpoint();\r
+ return Endpoint_BytesInEndpoint();\r
+ }\r
+ else\r
+ {\r
+ return 0;\r
+ }\r
}\r
\r
uint8_t CDC_Device_ReceiveByte(USB_ClassInfo_CDC_Device_t* CDCInterfaceInfo)\r
{\r
while (!(CDC_Device_BytesReceived((USB_ClassInfo_CDC_Device_t*)fdev_get_udata(Stream))))\r
{\r
+ if (USB_DeviceState == DEVICE_STATE_Unattached)\r
+ return _FDEV_EOF;\r
+ \r
CDC_Device_USBTask((USB_ClassInfo_CDC_Device_t*)fdev_get_udata(Stream));\r
USB_USBTask();\r
}\r