Книга: Advanced PIC Microcontroller Projects in C
8.4 Descriptors
All USB devices have a hierarchy of descriptors that describe various features of the device: the manufacturer ID, the version of the device, the version of USB it supports, what the device is, its power requirements, the number and type of endpoints, and so forth.
The most common USB descriptors are:
• Device descriptors
• Configuration descriptors
• Interface descriptors
• HID descriptors
• Endpoint descriptors
The descriptors are in a hierarchical structure as shown in Figure 8.7. At the top of the hierarchy we have the device descriptor, then the configuration descriptors, followed by the interface descriptors, and finally the endpoint descriptors. The HID descriptor always follows the interface descriptor when the interface belongs to the HID class.
Figure 8.7: USB descriptor hierarchy
All descriptors have a common format. The first byte (bLength) specifies the length of the descriptor, while the second byte (bDescriptorType) indicates the descriptor type.