STM32 core 3.0.1-dev
Arduino core for STM32 based boards: API reference
← STM32duino documentation
Loading...
Searching...
No Matches
usbd_cdc.c File Reference

This file provides the high layer firmware functions to manage the following functionalities of the USB CDC Class: More...

Detailed Description

This file provides the high layer firmware functions to manage the following functionalities of the USB CDC Class:

Author
MCD Application Team
  • Initialization and Configuration of high and low layer
  • Enumeration as CDC Device (and enumeration for each implemented memory interface)
  • OUT/IN data transfer
  • Command IN transfer (class requests management)
  • Error management
Attention

Copyright (c) 2015 STMicroelectronics. All rights reserved.

This software is licensed under terms that can be found in the LICENSE file in the root directory of this software component. If no LICENSE file comes with this software, it is provided AS-IS.

*
*          ===================================================================
*                                CDC Class Driver Description
*          ===================================================================
*           This driver manages the "Universal Serial Bus Class Definitions for Communications Devices
*           Revision 1.2 November 16, 2007" and the sub-protocol specification of "Universal Serial Bus
*           Communications Class Subclass Specification for PSTN Devices Revision 1.2 February 9, 2007"
*           This driver implements the following aspects of the specification:
*             - Device descriptor management
*             - Configuration descriptor management
*             - Enumeration as CDC device with 2 data endpoints (IN and OUT) and 1 command endpoint (IN)
*             - Requests management (as described in section 6.2 in specification)
*             - Abstract Control Model compliant
*             - Union Functional collection (using 1 IN endpoint for control)
*             - Data interface class
*
*           These aspects may be enriched or modified for a specific user application.
*
*            This driver doesn't implement the following aspects of the specification
*            (but it is possible to manage these features with some modifications on this driver):
*             - Any class-specific aspect relative to communication classes should be managed by user application.
*             - All communication classes other than PSTN are not managed
*
*