⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pe_my_usbtable.c

📁 FIC8120方案的 StartCell_Driver
💻 C
📖 第 1 页 / 共 5 页
字号:
				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),
				mHighByte(HS_C2_I0_A0_EP3_MAX_PACKET),
				HS_C2_I0_A0_EP3_bInterval,
			#endif
			#if (HS_C2_I0_A0_EP_NUMBER >= 4)
				// EP4
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I0_A0_EP4_DIRECTION) << 7) | EP4),
				HS_C2_I0_A0_EP4_TYPE,	
				mLowByte(HS_C2_I0_A0_EP4_MAX_PACKET),
				mHighByte(HS_C2_I0_A0_EP4_MAX_PACKET),
				HS_C2_I0_A0_EP4_bInterval,
			#endif
			#if (HS_C2_I0_A0_EP_NUMBER >= 5)
				// EP5
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I0_A0_EP5_DIRECTION) << 7) | EP5),
				HS_C2_I0_A0_EP5_TYPE,	
				mLowByte(HS_C2_I0_A0_EP5_MAX_PACKET),
				mHighByte(HS_C2_I0_A0_EP5_MAX_PACKET),
				HS_C2_I0_A0_EP5_bInterval,
			#endif
			#if (HS_C2_I0_A0_EP_NUMBER >= 6)
				// EP6
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I0_A0_EP6_DIRECTION) << 7) | EP6),
				HS_C2_I0_A0_EP6_TYPE,	
				mLowByte(HS_C2_I0_A0_EP6_MAX_PACKET),
				mHighByte(HS_C2_I0_A0_EP6_MAX_PACKET),
				HS_C2_I0_A0_EP6_bInterval,
			#endif
			#if (HS_C2_I0_A0_EP_NUMBER >= 7)
				// EP7
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I0_A0_EP7_DIRECTION) << 7) | EP7),
				HS_C2_I0_A0_EP7_TYPE,	
				mLowByte(HS_C2_I0_A0_EP7_MAX_PACKET),
				mHighByte(HS_C2_I0_A0_EP7_MAX_PACKET),
				HS_C2_I0_A0_EP7_bInterval,
			#endif
			#if (HS_C2_I0_A0_EP_NUMBER >= 8)
				// EP8
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I0_A0_EP8_DIRECTION) << 7) | EP8),
				HS_C2_I0_A0_EP8_TYPE,	
				mLowByte(HS_C2_I0_A0_EP8_MAX_PACKET),
				mHighByte(HS_C2_I0_A0_EP8_MAX_PACKET),
				HS_C2_I0_A0_EP8_bInterval,
			#endif
			#if (HS_C2_I0_A0_EP_NUMBER >= 9)
				// EP9
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I0_A0_EP9_DIRECTION) << 7) | EP9),
				HS_C2_I0_A0_EP9_TYPE,	
				mLowByte(HS_C2_I0_A0_EP9_MAX_PACKET),
				mHighByte(HS_C2_I0_A0_EP9_MAX_PACKET),
				HS_C2_I0_A0_EP9_bInterval,
			#endif
			#if (HS_C2_I0_A0_EP_NUMBER >= 10)
				// EP10
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I0_A0_EP10_DIRECTION) << 7) | EP10),
				HS_C2_I0_A0_EP10_TYPE,	
				mLowByte(HS_C2_I0_A0_EP10_MAX_PACKET),
				mHighByte(HS_C2_I0_A0_EP10_MAX_PACKET),
				HS_C2_I0_A0_EP10_bInterval,
			#endif
			#if (HS_C2_I0_A0_EP_NUMBER >= 11)
				// EP11
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I0_A0_EP11_DIRECTION) << 7) | EP11),
				HS_C2_I0_A0_EP11_TYPE,	
				mLowByte(HS_C2_I0_A0_EP11_MAX_PACKET),
				mHighByte(HS_C2_I0_A0_EP11_MAX_PACKET),
				HS_C2_I0_A0_EP11_bInterval,
			#endif
			#if (HS_C2_I0_A0_EP_NUMBER >= 12)
				// EP12
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I0_A0_EP12_DIRECTION) << 7) | EP12),
				HS_C2_I0_A0_EP12_TYPE,	
				mLowByte(HS_C2_I0_A0_EP12_MAX_PACKET),
				mHighByte(HS_C2_I0_A0_EP12_MAX_PACKET),
				HS_C2_I0_A0_EP12_bInterval,
			#endif
			#if (HS_C2_I0_A0_EP_NUMBER >= 13)
				// EP13
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I0_A0_EP13_DIRECTION) << 7) | EP13),
				HS_C2_I0_A0_EP13_TYPE,	
				mLowByte(HS_C2_I0_A0_EP13_MAX_PACKET),
				mHighByte(HS_C2_I0_A0_EP13_MAX_PACKET),
				HS_C2_I0_A0_EP13_bInterval,
			#endif
			#if (HS_C2_I0_A0_EP_NUMBER >= 14)
				// EP14
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I0_A0_EP14_DIRECTION) << 7) | EP14),
				HS_C2_I0_A0_EP14_TYPE,	
				mLowByte(HS_C2_I0_A0_EP14_MAX_PACKET),
				mHighByte(HS_C2_I0_A0_EP14_MAX_PACKET),
				HS_C2_I0_A0_EP14_bInterval,
			#endif
			#if (HS_C2_I0_A0_EP_NUMBER >= 15)
				// EP15
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I0_A0_EP15_DIRECTION) << 7) | EP15),
				HS_C2_I0_A0_EP15_TYPE,	
				mLowByte(HS_C2_I0_A0_EP15_MAX_PACKET),
				mHighByte(HS_C2_I0_A0_EP15_MAX_PACKET),
				HS_C2_I0_A0_EP15_bInterval,
			#endif
		#endif

		#if (HS_C2_I0_ALT_NUMBER >= 2)  
			// Alternate Setting 0
			INTERFACE_LENGTH,				// bLength
			DT_INTERFACE,					// bDescriptorType INTERFACE
			HS_C2_I0_A1_bInterfaceNumber,      // bInterfaceNumber
			HS_C2_I0_A1_bAlternateSetting,	    // bAlternateSetting
			HS_C2_I0_A1_EP_NUMBER,			// bNumEndpoints(excluding endpoint zero)
			HS_C2_I0_A1_bInterfaceClass,	// bInterfaceClass
			HS_C2_I0_A1_bInterfaceSubClass,// bInterfaceSubClass
			HS_C2_I0_A1_bInterfaceProtocol,// bInterfaceProtocol
			HS_C2_I0_A1_iInterface,		// iInterface

			#if (HS_C2_I0_A1_EP_NUMBER >= 1)
				// EP1
				EP_LENGTH,						// bLength
				DT_ENDPOINT,					// bDescriptorType ENDPOINT
				(((1 - HS_C2_I0_A1_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_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_C2_I0_A1_EP1_MAX_PACKET),	// wMaxPacketSize
				mHighByte(HS_C2_I0_A1_EP1_MAX_PACKET),
				HS_C2_I0_A1_EP1_bInterval,							// Interval for polling endpoint for data transfers.
			#endif
			#if (HS_C2_I0_A1_EP_NUMBER >= 2)
				// EP2
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I0_A1_EP2_DIRECTION) << 7) | EP2),
				HS_C2_I0_A1_EP2_TYPE,	
				mLowByte(HS_C2_I0_A1_EP2_MAX_PACKET),
				mHighByte(HS_C2_I0_A1_EP2_MAX_PACKET),
				HS_C2_I0_A1_EP2_bInterval,
			#endif
			#if (HS_C2_I0_A1_EP_NUMBER >= 3)
				// EP3
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I0_A1_EP3_DIRECTION) << 7) | EP3),
				HS_C2_I0_A1_EP3_TYPE,	
				mLowByte(HS_C2_I0_A1_EP3_MAX_PACKET),
				mHighByte(HS_C2_I0_A1_EP3_MAX_PACKET),
				HS_C2_I0_A1_EP3_bInterval,
			#endif
			#if (HS_C2_I0_A1_EP_NUMBER >= 4)
				// EP4
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I0_A1_EP4_DIRECTION) << 7) | EP4),
				HS_C2_I0_A1_EP4_TYPE,	
				mLowByte(HS_C2_I0_A1_EP4_MAX_PACKET),
				mHighByte(HS_C2_I0_A1_EP4_MAX_PACKET),
				HS_C2_I0_A1_EP4_bInterval,
			#endif
			#if (HS_C2_I0_A1_EP_NUMBER >= 5)
				// EP5
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I0_A1_EP5_DIRECTION) << 7) | EP5),
				HS_C2_I0_A1_EP5_TYPE,	
				mLowByte(HS_C2_I0_A1_EP5_MAX_PACKET),
				mHighByte(HS_C2_I0_A1_EP5_MAX_PACKET),
				HS_C2_I0_A1_EP5_bInterval,
			#endif
			#if (HS_C2_I0_A1_EP_NUMBER >= 6)
				// EP6
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I0_A1_EP6_DIRECTION) << 7) | EP6),
				HS_C2_I0_A1_EP6_TYPE,	
				mLowByte(HS_C2_I0_A1_EP6_MAX_PACKET),
				mHighByte(HS_C2_I0_A1_EP6_MAX_PACKET),
				HS_C2_I0_A1_EP6_bInterval,
			#endif
			#if (HS_C2_I0_A1_EP_NUMBER >= 7)
				// EP7
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I0_A1_EP7_DIRECTION) << 7) | EP7),
				HS_C2_I0_A1_EP7_TYPE,	
				mLowByte(HS_C2_I0_A1_EP7_MAX_PACKET),
				mHighByte(HS_C2_I0_A1_EP7_MAX_PACKET),
				HS_C2_I0_A1_EP7_bInterval,
			#endif
			#if (HS_C2_I0_A1_EP_NUMBER >= 8)
				// EP8
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I0_A1_EP8_DIRECTION) << 7) | EP8),
				HS_C2_I0_A1_EP8_TYPE,	
				mLowByte(HS_C2_I0_A1_EP8_MAX_PACKET),
				mHighByte(HS_C2_I0_A1_EP8_MAX_PACKET),
				HS_C2_I0_A1_EP8_bInterval,
			#endif
			#if (HS_C2_I0_A1_EP_NUMBER >= 9)
				// EP9
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I0_A1_EP9_DIRECTION) << 7) | EP9),
				HS_C2_I0_A1_EP9_TYPE,	
				mLowByte(HS_C2_I0_A1_EP9_MAX_PACKET),
				mHighByte(HS_C2_I0_A1_EP9_MAX_PACKET),
				HS_C2_I0_A1_EP9_bInterval,
			#endif
			#if (HS_C2_I0_A1_EP_NUMBER >= 10)
				// EP10
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I0_A1_EP10_DIRECTION) << 7) | EP10),
				HS_C2_I0_A1_EP10_TYPE,	
				mLowByte(HS_C2_I0_A1_EP10_MAX_PACKET),
				mHighByte(HS_C2_I0_A1_EP10_MAX_PACKET),
				HS_C2_I0_A1_EP10_bInterval,
			#endif
			#if (HS_C2_I0_A1_EP_NUMBER >= 11)
				// EP11
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I0_A1_EP11_DIRECTION) << 7) | EP11),
				HS_C2_I0_A1_EP11_TYPE,	
				mLowByte(HS_C2_I0_A1_EP11_MAX_PACKET),
				mHighByte(HS_C2_I0_A1_EP11_MAX_PACKET),
				HS_C2_I0_A1_EP11_bInterval,
			#endif
			#if (HS_C2_I0_A1_EP_NUMBER >= 12)
				// EP12
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I0_A1_EP12_DIRECTION) << 7) | EP12),
				HS_C2_I0_A1_EP12_TYPE,	
				mLowByte(HS_C2_I0_A1_EP12_MAX_PACKET),
				mHighByte(HS_C2_I0_A1_EP12_MAX_PACKET),
				HS_C2_I0_A1_EP12_bInterval,
			#endif
			#if (HS_C2_I0_A1_EP_NUMBER >= 13)
				// EP13
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I0_A1_EP13_DIRECTION) << 7) | EP13),
				HS_C2_I0_A1_EP13_TYPE,	
				mLowByte(HS_C2_I0_A1_EP13_MAX_PACKET),
				mHighByte(HS_C2_I0_A1_EP13_MAX_PACKET),
				HS_C2_I0_A1_EP13_bInterval,
			#endif
			#if (HS_C2_I0_A1_EP_NUMBER >= 14)
				// EP14
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I0_A1_EP14_DIRECTION) << 7) | EP14),
				HS_C2_I0_A1_EP14_TYPE,	
				mLowByte(HS_C2_I0_A1_EP14_MAX_PACKET),
				mHighByte(HS_C2_I0_A1_EP14_MAX_PACKET),
				HS_C2_I0_A1_EP14_bInterval,
			#endif
			#if (HS_C2_I0_A1_EP_NUMBER >= 15)
				// EP15
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I0_A1_EP15_DIRECTION) << 7) | EP15),
				HS_C2_I0_A1_EP15_TYPE,	
				mLowByte(HS_C2_I0_A1_EP15_MAX_PACKET),
				mHighByte(HS_C2_I0_A1_EP15_MAX_PACKET),
				HS_C2_I0_A1_EP15_bInterval,
			#endif
		#endif

	#endif

	#if (HS_C2_INTERFACE_NUMBER >= 2)
		// Interface 1
		#if (HS_C2_I1_ALT_NUMBER >= 1)
			// Alternate Setting 0
			INTERFACE_LENGTH,			// bLength
			DT_INTERFACE,				// bDescriptorType INTERFACE
			HS_C2_I1_A0_bInterfaceNumber,      // bInterfaceNumber
			HS_C2_I1_A0_bAlternateSetting,	    // bAlternateSetting
			HS_C2_I1_A0_EP_NUMBER,		// bNumEndpoints(excluding endpoint zero)
			HS_C2_I1_A0_bInterfaceClass,	// bInterfaceClass
			HS_C2_I1_A0_bInterfaceSubClass,// bInterfaceSubClass
			HS_C2_I1_A0_bInterfaceProtocol,// bInterfaceProtocol
			HS_C2_I1_A0_iInterface,		// iInterface

			#if (HS_C2_I1_A0_EP_NUMBER >= 1)
				// EP1
				EP_LENGTH,					// bLength
				DT_ENDPOINT,				// bDescriptorType ENDPOINT
				(((1 - HS_C2_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_C2_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_C2_I1_A0_EP1_MAX_PACKET),	// wMaxPacketSize
				mHighByte(HS_C2_I1_A0_EP1_MAX_PACKET),
				HS_C2_I1_A0_EP1_bInterval,			// Interval for polling endpoint for data transfers.
			#endif
			#if (HS_C2_I1_A0_EP_NUMBER >= 2)
				// EP2
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I1_A0_EP2_DIRECTION) << 7) | EP2),
				HS_C2_I1_A0_EP2_TYPE,	
				mLowByte(HS_C2_I1_A0_EP2_MAX_PACKET),
				mHighByte(HS_C2_I1_A0_EP2_MAX_PACKET),
				HS_C2_I1_A0_EP2_bInterval,
			#endif
			#if (HS_C2_I1_A0_EP_NUMBER >= 3)
				// EP3
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I1_A0_EP3_DIRECTION) << 7) | EP3),
				HS_C2_I1_A0_EP3_TYPE,	
				mLowByte(HS_C2_I1_A0_EP3_MAX_PACKET),
				mHighByte(HS_C2_I1_A0_EP3_MAX_PACKET),
				HS_C2_I1_A0_EP3_bInterval,
			#endif
			#if (HS_C2_I1_A0_EP_NUMBER >= 4)
				// EP4
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I1_A0_EP4_DIRECTION) << 7) | EP4),
				HS_C2_I1_A0_EP4_TYPE,	
				mLowByte(HS_C2_I1_A0_EP4_MAX_PACKET),
				mHighByte(HS_C2_I1_A0_EP4_MAX_PACKET),
				HS_C2_I1_A0_EP4_bInterval,
			#endif
			#if (HS_C2_I1_A0_EP_NUMBER >= 5)
				// EP5
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I1_A0_EP5_DIRECTION) << 7) | EP5),
				HS_C2_I1_A0_EP5_TYPE,	
				mLowByte(HS_C2_I1_A0_EP5_MAX_PACKET),
				mHighByte(HS_C2_I1_A0_EP5_MAX_PACKET),
				HS_C2_I1_A0_EP5_bInterval,
			#endif
			#if (HS_C2_I1_A0_EP_NUMBER >= 6)
				// EP6
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I1_A0_EP6_DIRECTION) << 7) | EP6),
				HS_C2_I1_A0_EP6_TYPE,	
				mLowByte(HS_C2_I1_A0_EP6_MAX_PACKET),
				mHighByte(HS_C2_I1_A0_EP6_MAX_PACKET),
				HS_C2_I1_A0_EP6_bInterval,
			#endif
			#if (HS_C2_I1_A0_EP_NUMBER >= 7)
				// EP7
				EP_LENGTH,
				DT_ENDPOINT,
				(((1 - HS_C2_I1_A0_EP7_DIRECTION) << 7) | EP7),
				HS_C2_I1_A0_EP7_TYPE,	
				mLowByte(HS_C2_I1_A0_EP7_MAX_PACKET),
				mHighByte(HS_C2_I1_A0_EP7_MAX_PACKET),
				HS_C2_I1_A0_EP7_bInterval,
			#endif
			#if (HS_C2_I1_A0_EP_NUMBER >= 8)
				// EP8

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -