在USB规范里,对命令一词提供的单词为“Request”,但这里为了更好的理解主机与设备之间的主从关系,将它定义成“命令”。 所有的USB设备都要求对主机发给自己的控制命令作出响应,USB规范定义了11个标准命令,它们分别是:Clear_Feature、Get_Configuration、Get_Descriptor、Get_Interface、Get_Status、Set_Address、Set_Confi...
setInterface(pipe: USBDevicePipe, iface: USBInterface): number 设置设备接口。 需要调用usb.getDevices获取设备列表以及interfaces;调用usb.requestRight获取设备请求权限;调用usb.connectDevice得到devicepipe作为参数;调用usb.claimInterface注册通信接口。 系统能力: SystemCapability.USB.USBManager 参数...
setInterface(pipe: USBDevicePipe, iface: USBInterface): number 设置设备接口。 需要调用usb.getDevices获取设备列表以及interfaces;调用usb.requestRight获取设备请求权限;调用usb.connectDevice得到devicepipe作为参数;调用usb.claimInterface注册通信接口。 系统能力: SystemCapability.USB.USBManager 参数: ...
然后,驱动程序堆栈 (SET INTERFACE) 生成标准控制请求并将其发送到设备。 请注意bInterfaceClass字段。 接口描述符或其任何备用设置的描述符指定类代码、子类和协议。 0x0E 的值指示接口适用于视频设备类。 另请注意iInterface字段。 该值指示在接口描述符后面追加了两个字符串描述符。 字符串描述符包含 Unicode 说...
usb_set_interface video_set_drvdata(vdev, stream);//非常重要:这里把stream和video_device真的关联起来,open的时候找到这个会根据设备号找到video_device,在找到stream,这个结构体来ioctrl中都会被用到 uvc_get_video_ctrl //把设备的配置作为stream control的默认参数. ...
5. SET_INTERFACE,设置设备接口。在设备支持多个接口的情况下,设备可以通过该请求通知主机当前选择的接口。 6. CLEAR_FEATURE/SET_FEATURE,清除/设置设备特性。设备可以通过这两个请求操作特定的设备特性,比如端点的同步方式、设备的远程唤醒功能等。 USB标准请求命令的应用场景。 USB标准请求命令在USB设备的初始化、配...
(9) 11 SET_INTERFACE:用于主机要求设备用某个描述符来描述接口 (10)12 SYNCH_FRAME:用于设备设置和报告一个端点的同步帧 下表列出了标准设备请求: 下表为标准请求代码: 下表为描述符种类: USB设备必须响应标准设备请求,不管设备是否被分配地址或者是否被配置。
11 SET_INTERFACE:用于主机要求设备用某个描述符来描述接口; 12 SYNCH_FRAME:用于设备设置和报告一个端点的同步帧; 控制传输是USB的重心,而这11个命令是控制传输的重心,所以这11个命令是重中之重。 2.4、描述符(Descriptor) Descriptor是一个完整的数据结构,可以通过C语言等编程实现,并存储在USB设备中,用于描述一...
所有的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...
usb set_report是上位机下发送数据给usb设备,通过Bus Hound可以抓住数据,发送数据长度为报告描述符中定义的数据长度定义 usb get_report是usb设备发送数据给上位机下,通过Bus Hound可以抓住数据,发送数据长度为报告描述符中定义的数据长度定义