在尝试通过UVC控件访问CX3的扩展ID时出错,可能的原因及解决方案如下:
Data1: F3F995DC (字节顺序: DC 95 F9 F3)
Data2: 2632 (字节顺序: 32 26)
Data3: 4C4E (字节顺序: 4E 4C)
Data4: 92 C9 A0 47 82 F4 3B C8 (直接顺序)F3F995DC-2632-4C4E-92C9-A04782F43BC8。bmRequestType、wValue、wIndex 等参数设置不当。bmRequestType = 0xA1 (IN | Class | Interface)
bRequest = 0x03 (VS_REQUEST_CODE)
wValue = (控件选择子 << 8) | 控件号 (范围0-3)
wIndex = (单元ID << 8) | 接口号 (如0x0300表示单元ID 3,接口0)bLength: 0x1C
bDescriptorType: 0x24 (CS_INTERFACE)
bDescriptorSubtype: 0x06 (Extension Unit)
bUnitID: 0x03
guidExtensionCode: 16字节GUID
bNumControls: 0x04
bNrInPins: 0x01
baSourceID[0]: 输入引脚源ID(如0x01)
bControlSize: 控制位图长度(如0x01)
bmControls: 控件的位图(如0x01表示第一个控件有效)
iExtension: 字符串描述符索引(可选)baSourceID是否指向有效的源单元(如摄像头单元ID)。STALL或其他错误。示例代码片段(主机端GUID定义,C++):
static const GUID GUID_EXTENSION_UNIT =
{ 0xF3F995DC, 0x2632, 0x4C4E, {0x92, 0xC9, 0xA0, 0x47, 0x82, 0xF4, 0x3B, 0xC8} };通过逐步排查上述关键点,应能定位并解决扩展控制访问失败的问题。
举报
更多回帖