UVC 状态中断端点
			 2023-07-11
			  本文链接为:http://www.usbzh.com/article/detail-1201.html ,欢迎转载,转载请附上本文链接。
	
			
			
			
			
		
			UVC视频控制接口VC可以选择性地支持中断端点,用于通知主机其相机拓扑结构内部各个终端、实例的状态- bStatusType:。所以如果中断端点存在,整个UVC视频控制接口中的所有拓扑单元状态信息的改变,都需要通过该中断端点来通知主机。
上面所说的UVC控制接口中的中断端点是可选的,但在以下的三种情况下,这个中断端点是必须存在的:
- 该设备支持通过硬件触发静态图像的抓取。
- 设备实现任何自动更新控制(支持设备初始化时的更改的控制)。
- 该设备实现异步控制
中断端点包的大小是可变的,其包的大小取决于向主机上报中断状信息的数据大小,所以也就是中断源的产生者。
状态中断端点数据包的格式分为2种:数据源为视频控制接口或数据源为视频流接口。
当数据源为视频控制接口时:
typedef struct _VIDOE_CONTROL_INTERFACE_ENDPOINT_STATUS
{
    UINT8 bStatusType;
    UINT8 bOriginator;
    UINT8 bEvent;
    UINT8 bSelector;
    UINT8 bAttribute;
    UINT8 bValue[N];    
}VIDOE_CONTROL_INTERFACE_ENDPOINT_STATUS;
- bStatusType:Bitmap/Number- D7..4: 保留
- D3..0: 中断源- 0:保留
- 1:视频控制接口
- 2:视频流接口
 
 
- bOriginator:报告中断的终端、单元或接口的ID
- bEvent- 0x00:控制改变
- 0x01-0xff:保留
 
- bSelector:控制改变。发出中断控制的选择子
- bAttribute: 控制改变的类型- 0x00:控制值改变
- 0x01:控制信息改变
- 0x02:控制失败更改
- 0x03:控制最小改变
- 0x04:控制最大改变
- 0x05~0xff:保留
 
- bValue:
当数据源为视频流接口时:
typedef struct _VIDOE_STREAM_INTERFACE_ENDPOINT_STATUS
{
    UINT8 bStatusType;
    UINT8 bOriginator;
    UINT8 bEvent;
    UINT8 bValue[N];    
}VIDOE_STREAM__INTERFACE_ENDPOINT_STATUS;
- bEvent- 0x00:控钮(硬件静态抓图)
- 0x01~0xff:保留
 
- bValue:N=1- 0x00:按钮接下
- 0x01: 按钮抬起
 
HID人机交互QQ群:564808376   
UAC音频QQ群:218581009   
UVC相机QQ群:331552032   
BOT&UASP大容量存储QQ群:258159197   
STC-USB单片机QQ群:315457461   
USB技术交流QQ群2:580684376   
USB技术交流QQ群:952873936    
		 UVC规范(USB摄像头)
			UVC规范(USB摄像头)
			




