We read every piece of feedback, and take your input very seriously. Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Cancel Create saved search Sign in Sign up Reseting focus {...
phost->Control.setup.b.wValue.w = FEATURE_SELECTOR_ENDPOINT; phost->Control.setup.b.wIndex.w = ep_num; phost->Control.setup.b.wLength.w =0;if((ep_num & USB_REQ_DIR_MASK ) == USB_D2H) {/* EP Type is IN */pdev->host.hc[hc_num].toggle_in =0; }else{/* EP Type is ...
41、eDef *,USBH_EpDesc_TypeDef *); void (*ManufacturerString)(void *); void (*ProductString)(void *); void (*SerialNumString)(void *); void (*EnumerationDone)(void); USBH_USR_Status (*UserInput)(void);void (*USBH_USR_DeviceNotSupported)(void); void (*UnrecoveredError)(void);...
} usb_ep_desc_t; ESP_STATIC_ASSERT(sizeof(usb_ep_desc_t) == USB_EP_DESC_SIZE, "Size of usb_ep_desc_t incorrect");/** * @brief Bit masks belonging to the bEndpointAddress field of an endpoint descriptor */ #define USB_B_ENDPOINT_ADDRESS_EP_NUM_MASK 0x0f ...
void* RxEP_buffer; uint8_t MaxPacketSize; }DEVICE_PROP; 接下去是USER_STANDARD_REQUESTS User_Standard_Requests这个结构体,在这个结构体中主要注册了USB标准请求的实现函数,当然这些函数也实在该结构体后面定义的。跟上面的DEVICE_PROP Device_Property结构体类似,就不多讲了。
我们会发现USBH_InterfaceDescTypeDef中有多了 USBH_EpDescTypeDef Ep_Desc[USBH_MAX_NUM_ENDPOINTS]; typedef struct _InterfaceDescriptor { uint8_t bLength; uint8_t bDescriptorType; uint8_t bInterfaceNumber; uint8_t bAlternateSetting; /* Value used to select alternative setting */ uint8_t ...
OnSetConfiguration()25struct{//Config ***26U32 TransferBufferSize;//USBH_AssignMemory() USBH_AssignTransferMemory()27U8 NumRootHubs;28U8 RootHubPortsAlwaysPowered;29U8 RootHubPerPortPowered;30U8 RootHubSupportOvercurrent;31U8 NumUSBDevices;//USBH_ConfigMaxUSBDevices()32U8 NumBulkEndpoin...
uint8_t bMaxPacketSize0; /*!< size of the control (address 0) endpoint's bank in byte...
* this array is determined by the bNumInterfaces field. */ const struct libusb_interface *interface; /** Extra descriptors. If libusb encounters unknown configuration * descriptors, it will store them here, should you wish to parse them. */ ...
chardriver[USBDEVFS_MAXDRIVERNAME+1]; }; structusbdevfs_connectinfo{ unsignedintdevnum; unsignedcharslow; }; #defineUSBDEVFS_URB_DISABLE_SPD1 #defineUSBDEVFS_URB_ISO_ASAP2 #defineUSBDEVFS_URB_QUEUE_BULK0x10 #defineUSBDEVFS_URB_TYPE_ISO0