📄 pe_my_usbtable.c
字号:
(((1 - HS_C1_I0_A1_EP15_DIRECTION) << 7) | EP15), HS_C1_I0_A1_EP15_TYPE, mLowByte(HS_C1_I0_A1_EP15_MAX_PACKET), mHighByte(HS_C1_I0_A1_EP15_MAX_PACKET), HS_C1_I0_A1_EP15_bInterval, #endif #endif #endif #if (HS_C1_INTERFACE_NUMBER >= 2) // Interface 1 #if (HS_C1_I1_ALT_NUMBER >= 1) // Alternate Setting 0 INTERFACE_LENGTH, // bLength DT_INTERFACE, // bDescriptorType INTERFACE HS_C1_I1_A0_bInterfaceNumber, // bInterfaceNumber HS_C1_I1_A0_bAlternateSetting, // bAlternateSetting HS_C1_I1_A0_EP_NUMBER, // bNumEndpoints(excluding endpoint zero) HS_C1_I1_A0_bInterfaceClass, // bInterfaceClass HS_C1_I1_A0_bInterfaceSubClass,// bInterfaceSubClass HS_C1_I1_A0_bInterfaceProtocol,// bInterfaceProtocol HS_C1_I1_A0_iInterface, // iInterface #if (HS_C1_I1_A0_EP_NUMBER >= 1) // EP1 EP_LENGTH, // bLength DT_ENDPOINT, // bDescriptorType ENDPOINT (((1 - HS_C1_I1_A0_EP1_DIRECTION) << 7) | EP1), // bEndpointAddress // D7: Direction, 1=IN, 0=OUT // D6..4: Reserved(reset to zero), D3..0: The endpointer number HS_C1_I1_A0_EP1_TYPE, // bmAttributes // D1..0: Transfer Type 00=Control, 01=Isochronous, 10=Bulk, 11=Interrupt // if not an isochronous endpoint, D7..2 are Reserved mLowByte(HS_C1_I1_A0_EP1_MAX_PACKET), // wMaxPacketSize mHighByte(HS_C1_I1_A0_EP1_MAX_PACKET), HS_C1_I1_A0_EP1_bInterval, // Interval for polling endpoint for data transfers. #endif #if (HS_C1_I1_A0_EP_NUMBER >= 2) // EP2 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C1_I1_A0_EP2_DIRECTION) << 7) | EP2), HS_C1_I1_A0_EP2_TYPE, mLowByte(HS_C1_I1_A0_EP2_MAX_PACKET), mHighByte(HS_C1_I1_A0_EP2_MAX_PACKET), HS_C1_I1_A0_EP2_bInterval, #endif #if (HS_C1_I1_A0_EP_NUMBER >= 3) // EP3 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C1_I1_A0_EP3_DIRECTION) << 7) | EP3), HS_C1_I1_A0_EP3_TYPE, mLowByte(HS_C1_I1_A0_EP3_MAX_PACKET), mHighByte(HS_C1_I1_A0_EP3_MAX_PACKET), HS_C1_I1_A0_EP3_bInterval, #endif #if (HS_C1_I1_A0_EP_NUMBER >= 4) // EP4 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C1_I1_A0_EP4_DIRECTION) << 7) | EP4), HS_C1_I1_A0_EP4_TYPE, mLowByte(HS_C1_I1_A0_EP4_MAX_PACKET), mHighByte(HS_C1_I1_A0_EP4_MAX_PACKET), HS_C1_I1_A0_EP4_bInterval, #endif #if (HS_C1_I1_A0_EP_NUMBER >= 5) // EP5 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C1_I1_A0_EP5_DIRECTION) << 7) | EP5), HS_C1_I1_A0_EP5_TYPE, mLowByte(HS_C1_I1_A0_EP5_MAX_PACKET), mHighByte(HS_C1_I1_A0_EP5_MAX_PACKET), HS_C1_I1_A0_EP5_bInterval, #endif #if (HS_C1_I1_A0_EP_NUMBER >= 6) // EP6 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C1_I1_A0_EP6_DIRECTION) << 7) | EP6), HS_C1_I1_A0_EP6_TYPE, mLowByte(HS_C1_I1_A0_EP6_MAX_PACKET), mHighByte(HS_C1_I1_A0_EP6_MAX_PACKET), HS_C1_I1_A0_EP6_bInterval, #endif #if (HS_C1_I1_A0_EP_NUMBER >= 7) // EP7 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C1_I1_A0_EP7_DIRECTION) << 7) | EP7), HS_C1_I1_A0_EP7_TYPE, mLowByte(HS_C1_I1_A0_EP7_MAX_PACKET), mHighByte(HS_C1_I1_A0_EP7_MAX_PACKET), HS_C1_I1_A0_EP7_bInterval, #endif #if (HS_C1_I1_A0_EP_NUMBER >= 8) // EP8 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C1_I1_A0_EP8_DIRECTION) << 7) | EP8), HS_C1_I1_A0_EP8_TYPE, mLowByte(HS_C1_I1_A0_EP8_MAX_PACKET), mHighByte(HS_C1_I1_A0_EP8_MAX_PACKET), HS_C1_I1_A0_EP8_bInterval, #endif #if (HS_C1_I1_A0_EP_NUMBER >= 9) // EP9 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C1_I1_A0_EP9_DIRECTION) << 7) | EP9), HS_C1_I1_A0_EP9_TYPE, mLowByte(HS_C1_I1_A0_EP9_MAX_PACKET), mHighByte(HS_C1_I1_A0_EP9_MAX_PACKET), HS_C1_I1_A0_EP9_bInterval, #endif #if (HS_C1_I1_A0_EP_NUMBER >= 10) // EP10 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C1_I1_A0_EP10_DIRECTION) << 7) | EP10), HS_C1_I1_A0_EP10_TYPE, mLowByte(HS_C1_I1_A0_EP10_MAX_PACKET), mHighByte(HS_C1_I1_A0_EP10_MAX_PACKET), HS_C1_I1_A0_EP10_bInterval, #endif #if (HS_C1_I1_A0_EP_NUMBER >= 11) // EP11 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C1_I1_A0_EP11_DIRECTION) << 7) | EP11), HS_C1_I1_A0_EP11_TYPE, mLowByte(HS_C1_I1_A0_EP11_MAX_PACKET), mHighByte(HS_C1_I1_A0_EP11_MAX_PACKET), HS_C1_I1_A0_EP11_bInterval, #endif #if (HS_C1_I1_A0_EP_NUMBER >= 12) // EP12 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C1_I1_A0_EP12_DIRECTION) << 7) | EP12), HS_C1_I1_A0_EP12_TYPE, mLowByte(HS_C1_I1_A0_EP12_MAX_PACKET), mHighByte(HS_C1_I1_A0_EP12_MAX_PACKET), HS_C1_I1_A0_EP12_bInterval, #endif #if (HS_C1_I1_A0_EP_NUMBER >= 13) // EP13 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C1_I1_A0_EP13_DIRECTION) << 7) | EP13), HS_C1_I1_A0_EP13_TYPE, mLowByte(HS_C1_I1_A0_EP13_MAX_PACKET), mHighByte(HS_C1_I1_A0_EP13_MAX_PACKET), HS_C1_I1_A0_EP13_bInterval, #endif #if (HS_C1_I1_A0_EP_NUMBER >= 14) // EP14 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C1_I1_A0_EP14_DIRECTION) << 7) | EP14), HS_C1_I1_A0_EP14_TYPE, mLowByte(HS_C1_I1_A0_EP14_MAX_PACKET), mHighByte(HS_C1_I1_A0_EP14_MAX_PACKET), HS_C1_I1_A0_EP14_bInterval, #endif #if (HS_C1_I1_A0_EP_NUMBER >= 15) // EP15 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C1_I1_A0_EP15_DIRECTION) << 7) | EP15), HS_C1_I1_A0_EP15_TYPE, mLowByte(HS_C1_I1_A0_EP15_MAX_PACKET), mHighByte(HS_C1_I1_A0_EP15_MAX_PACKET), HS_C1_I1_A0_EP15_bInterval, #endif #endif #if (HS_C1_I1_ALT_NUMBER >= 2) // Alternate Setting 0 INTERFACE_LENGTH, // bLength DT_INTERFACE, // bDescriptorType INTERFACE HS_C1_I1_A1_bInterfaceNumber, // bInterfaceNumber HS_C1_I1_A1_bAlternateSetting, // bAlternateSetting HS_C1_I1_A1_EP_NUMBER, // bNumEndpoints(excluding endpoint zero) HS_C1_I1_A1_bInterfaceClass, // bInterfaceClass HS_C1_I1_A1_bInterfaceSubClass,// bInterfaceSubClass HS_C1_I1_A1_bInterfaceProtocol,// bInterfaceProtocol HS_C1_I1_A1_iInterface, // iInterface #if (HS_C1_I1_A1_EP_NUMBER >= 1) // EP1 EP_LENGTH, // bLength DT_ENDPOINT, // bDescriptorType ENDPOINT (((1 - HS_C1_I1_A1_EP1_DIRECTION) << 7) | EP1), // bEndpointAddress // D7: Direction, 1=IN, 0=OUT // D6..4: Reserved(reset to zero), D3..0: The endpointer number HS_C1_I1_A1_EP1_TYPE, // bmAttributes // D1..0: Transfer Type 00=Control, 01=Isochronous, 10=Bulk, 11=Interrupt // if not an isochronous endpoint, D7..2 are Reserved mLowByte(HS_C1_I1_A1_EP1_MAX_PACKET), // wMaxPacketSize mHighByte(HS_C1_I1_A1_EP1_MAX_PACKET), HS_C1_I1_A1_EP1_bInterval, // Interval for polling endpoint for data transfers. #endif #if (HS_C1_I1_A1_EP_NUMBER >= 2) // EP2 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C1_I1_A1_EP2_DIRECTION) << 7) | EP2), HS_C1_I1_A1_EP2_TYPE, mLowByte(HS_C1_I1_A1_EP2_MAX_PACKET), mHighByte(HS_C1_I1_A1_EP2_MAX_PACKET), HS_C1_I1_A1_EP2_bInterval, #endif #if (HS_C1_I1_A1_EP_NUMBER >= 3) // EP3 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C1_I1_A1_EP3_DIRECTION) << 7) | EP3), HS_C1_I1_A1_EP3_TYPE, mLowByte(HS_C1_I1_A1_EP3_MAX_PACKET), mHighByte(HS_C1_I1_A1_EP3_MAX_PACKET), HS_C1_I1_A1_EP3_bInterval, #endif #if (HS_C1_I1_A1_EP_NUMBER >= 4) // EP4 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C1_I1_A1_EP4_DIRECTION) << 7) | EP4), HS_C1_I1_A1_EP4_TYPE, mLowByte(HS_C1_I1_A1_EP4_MAX_PACKET), mHighByte(HS_C1_I1_A1_EP4_MAX_PACKET), HS_C1_I1_A1_EP4_bInterval, #endif #if (HS_C1_I1_A1_EP_NUMBER >= 5) // EP5 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C1_I1_A1_EP5_DIRECTION) << 7) | EP5), HS_C1_I1_A1_EP5_TYPE, mLowByte(HS_C1_I1_A1_EP5_MAX_PACKET), mHighByte(HS_C1_I1_A1_EP5_MAX_PACKET), HS_C1_I1_A1_EP5_bInterval, #endif #if (HS_C1_I1_A1_EP_NUMBER >= 6) // EP6 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C1_I1_A1_EP6_DIRECTION) << 7) | EP6), HS_C1_I1_A1_EP6_TYPE, mLowByte(HS_C1_I1_A1_EP6_MAX_PACKET), mHighByte(HS_C1_I1_A1_EP6_MAX_PACKET), HS_C1_I1_A1_EP6_bInterval, #endif #if (HS_C1_I1_A1_EP_NUMBER >= 7) // EP7 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C1_I1_A1_EP7_DIRECTION) << 7) | EP7), HS_C1_I1_A1_EP7_TYPE, mLowByte(HS_C1_I1_A1_EP7_MAX_PACKET), mHighByte(HS_C1_I1_A1_EP7_MAX_PACKET), HS_C1_I1_A1_EP7_bInterval, #endif #if (HS_C1_I1_A1_EP_NUMBER >= 8) // EP8 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C1_I1_A1_EP8_DIRECTION) << 7) | EP8), HS_C1_I1_A1_EP8_TYPE, mLowByte(HS_C1_I1_A1_EP8_MAX_PACKET), mHighByte(HS_C1_I1_A1_EP8_MAX_PACKET), HS_C1_I1_A1_EP8_bInterval, #endif #if (HS_C1_I1_A1_EP_NUMBER >= 9) // EP9 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C1_I1_A1_EP9_DIRECTION) << 7) | EP9), HS_C1_I1_A1_EP9_TYPE, mLowByte(HS_C1_I1_A1_EP9_MAX_PACKET), mHighByte(HS_C1_I1_A1_EP9_MAX_PACKET), HS_C1_I1_A1_EP9_bInterval, #endif #if (HS_C1_I1_A1_EP_NUMBER >= 10) // EP10 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C1_I1_A1_EP10_DIRECTION) << 7) | EP10), HS_C1_I1_A1_EP10_TYPE, mLowByte(HS_C1_I1_A1_EP10_MAX_PACKET), mHighByte(HS_C1_I1_A1_EP10_MAX_PACKET), HS_C1_I1_A1_EP10_bInterval, #endif #if (HS_C1_I1_A1_EP_NUMBER >= 11) // EP11 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C1_I1_A1_EP11_DIRECTION) << 7) | EP11), HS_C1_I1_A1_EP11_TYPE, mLowByte(HS_C1_I1_A1_EP11_MAX_PACKET), mHighByte(HS_C1_I1_A1_EP11_MAX_PACKET), HS_C1_I1_A1_EP11_bInterval, #endif #if (HS_C1_I1_A1_EP_NUMBER >= 12) // EP12 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C1_I1_A1_EP12_DIRECTION) << 7) | EP12), HS_C1_I1_A1_EP12_TYPE, mLowByte(HS_C1_I1_A1_EP12_MAX_PACKET), mHighByte(HS_C1_I1_A1_EP12_MAX_PACKET), HS_C1_I1_A1_EP12_bInterval, #endif #if (HS_C1_I1_A1_EP_NUMBER >= 13) // EP13 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C1_I1_A1_EP13_DIRECTION) << 7) | EP13), HS_C1_I1_A1_EP13_TYPE, mLowByte(HS_C1_I1_A1_EP13_MAX_PACKET), mHighByte(HS_C1_I1_A1_EP13_MAX_PACKET), HS_C1_I1_A1_EP13_bInterval, #endif #if (HS_C1_I1_A1_EP_NUMBER >= 14) // EP14 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C1_I1_A1_EP14_DIRECTION) << 7) | EP14), HS_C1_I1_A1_EP14_TYPE, mLowByte(HS_C1_I1_A1_EP14_MAX_PACKET), mHighByte(HS_C1_I1_A1_EP14_MAX_PACKET), HS_C1_I1_A1_EP14_bInterval, #endif #if (HS_C1_I1_A1_EP_NUMBER >= 15) // EP15 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C1_I1_A1_EP15_DIRECTION) << 7) | EP15), HS_C1_I1_A1_EP15_TYPE, mLowByte(HS_C1_I1_A1_EP15_MAX_PACKET), mHighByte(HS_C1_I1_A1_EP15_MAX_PACKET), HS_C1_I1_A1_EP15_bInterval, #endif #endif #endif OTG_LENGTH, DT_OTG, FS_OTG_SUPPORT, };#endif#if (HS_CONFIGURATION_NUMBER >= 2)// Configuration 2INT8U u8HSConfigOTGDescriptor02[HS_C2_CONFIG_TOTAL_LENGTH] ={ // CONFIGURATION descriptor CONFIG_LENGTH, // bLength DT_CONFIGURATION, // bDescriptorType CONFIGURATION mLowByte(HS_C2_CONFIG_TOTAL_LENGTH), // wTotalLength, include all descriptors mHighByte(HS_C2_CONFIG_TOTAL_LENGTH), HS_C2_INTERFACE_NUMBER, // bNumInterface HS_C2, // bConfigurationValue HS_C2_iConfiguration, // iConfiguration HS_C2_bmAttribute, // bmAttribute // D7: Reserved(set to one), D6: Self-powered, D5: Remote Wakeup, D4..0: Reserved(reset to zero) HS_C2_iMaxPower, // iMaxPower (2mA units) #if (HS_C2_INTERFACE_NUMBER >= 1) // Interface 0 #if (HS_C2_I0_ALT_NUMBER >= 1) // Alternate Setting 0 INTERFACE_LENGTH, // bLength DT_INTERFACE, // bDescriptorType INTERFACE HS_C2_I0_A0_bInterfaceNumber, // bInterfaceNumber HS_C2_I0_A0_bAlternateSetting, // bAlternateSetting HS_C2_I0_A0_EP_NUMBER, // bNumEndpoints(excluding endpoint zero) HS_C2_I0_A0_bInterfaceClass, // bInterfaceClass HS_C2_I0_A0_bInterfaceSubClass,// bInterfaceSubClass HS_C2_I0_A0_bInterfaceProtocol,// bInterfaceProtocol HS_C2_I0_A0_iInterface, // iInterface #if (HS_C2_I0_A0_EP_NUMBER >= 1) // EP1 EP_LENGTH, // bLength DT_ENDPOINT, // bDescriptorType ENDPOINT (((1 - HS_C2_I0_A0_EP1_DIRECTION) << 7) | EP1), // bEndpointAddress // D7: Direction, 1=IN, 0=OUT // D6..4: Reserved(reset to zero), D3..0: The endpointer number HS_C2_I0_A0_EP1_TYPE, // bmAttributes // D1..0: Transfer Type 00=Control, 01=Isochronous, 10=Bulk, 11=Interrupt // if not an isochronous endpoint, D7..2 are Reserved mLowByte(HS_C2_I0_A0_EP1_MAX_PACKET), // wMaxPacketSize mHighByte(HS_C2_I0_A0_EP1_MAX_PACKET), HS_C2_I0_A0_EP1_bInterval, // Interval for polling endpoint for data transfers. #endif #if (HS_C2_I0_A0_EP_NUMBER >= 2) // EP2 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C2_I0_A0_EP2_DIRECTION) << 7) | EP2), HS_C2_I0_A0_EP2_TYPE, mLowByte(HS_C2_I0_A0_EP2_MAX_PACKET), mHighByte(HS_C2_I0_A0_EP2_MAX_PACKET), HS_C2_I0_A0_EP2_bInterval, #endif #if (HS_C2_I0_A0_EP_NUMBER >= 3) // EP3 EP_LENGTH, DT_ENDPOINT, (((1 - HS_C2_I0_A0_EP3_DIRECTION) << 7) | EP3), HS_C2_I0_A0_EP3_TYPE, mLowByte(HS_C2_I0_A0_EP3_MAX_PACKET),
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -