所有的USB设备都要求对主机发给自己的控制命令作出响应,USB规范定义了11个标准命令,它们分别是:Clear_Feature、Get_Configuration、Get_Descriptor、Get_Interface、Get_Status、Set_Address、Set_Configuration、Set_Descriptor、Set_Interface、Set_Feature、Synch_Frame。所有USB设备都必须支持这些命令(个别命令除外,如Set_De...
0 GET_STATUS:用来返回特定接收者的状态; 1 CLEAR_FEATURE:用来清除或禁止接收者的某些特性; 2) 3 SET_FEATURE:用来启用或激活命令接收者的某些特性; 5 SET_ADDRESS:用来给设备分配地址; 6 GET_DEscriptOR:用于主机获取设备的特定描述符; 7 SET_DEscriptOR:修改设备中有关的描述符,或者增加新的描述符; 8 GET_...
1,Clear Feature。这个请求用来清除或使否某个指定的属性。 wValue必须根据接收者来选择特定的值。接收者是设备就用设备描述符,是接口就用接口描述符,是端口就用端口描述符。一个Clear Feature请求一个不能被清除或不存在的特性,或指的是一个不存在的接口或端口的时候,将返回一个Request Error。如果wLength不为0...
USB集线器ClearPortFeature 2023-04-12 618 0 USB集线器CLEAR_PORT_FEATURE请求用于清除USB下游端口特性。如果集线器未被配置(SelectConfigure),USB集线器对此请求应返回未定义。bmRequestTypebRequestwValuewIndexwLengthData 00100011B CLEAR_FEATURE Feature Selector Selector(高字节)| PortNum(低字节) 0 无...
标准的USB设备请求命令是用在控制传输中的“初始设置步骤”里的数据包阶段(即DATA0,由八个字节构成),请看回问答四的内容。标准USB设备请求命令共有11个,大小都是8个字节,具有相同的结构,由5个字段构成(字段是标准请求命令的数据部分),结构如下(括号中的数字表示字节数,首字母bm,b,w分别...
usb_ep_set_wedge函数将端点的状态设置为stall,并且会忽略主机发送的CLEAR_FEATURE请求,也就是说主机无法清除带有DWC3_EP_WEDGE标志的端点的stall状态,只有设备驱动自己可以清除。 2.10.连接和断开 软件可以通过usb_gadget_connect和usb_gadget_disconnect函数控制设备连接主机和设备和主机断开。usb_gadget_connect调用后,...
wLength 是根据请求来决定下一阶段发送数据的长度。前面请求第一个字节里,已经说明下一阶段数据传送的方向,这里说明了传送数据的长度。不管是发送数据,还是接收数据,都不要超过这个数据长度,否则主机会出问题,或者设备有问题。 面结合实例分别介绍几个主要的设备请求。 (1) 清除特性(Clear Feature):...
为了清除设备错误,USB 驱动程序堆栈使用 ENDPOINT_HALT 功能选择器向设备发送 CLEAR_FEATURE 控制请求。 请求的接收方是与管道关联的终结点。 如果错误情况发生在等时管道上,则驱动程序堆栈不会采取任何操作来清除设备,因为在发生错误的情况下,等时终结点会自动清除。
5.2.2 Clear Feature(清除特征)请求 83 5.2.3 Set Feature(设置特征)请求 83 5.2.4 Set Address(设置地址)请求 84 5.2.5 Get Descriptor(获得描述字)请求 85 5.2.6 Set Descriptor(设定描述字)请求 85 5.2.7 Get Configuration(获得配置)请求 85 5.2.8 Set Configuration(设定配置)请求...