2.3 Class Layer
The class layer implements various USB device classes as per the class specification. The USB Device Stack architecture supports multiple instances of a class. An example would be a USB CDC device that emulates two serial ports. The class layer provides an abstract and an easy-to-use interface to the application. The application must register an event handler with the class layer to receive class events and respond to some of these events with control transfer read/write functions. The class layer accesses the bus through the core layer.