关于接口描述符中bAlternateSetting的使用
来源:互联网 发布:mac版photoshop cc2015 编辑:程序博客网 时间:2024/05/01 05:49
http://blog.csdn.net/findstr/article/details/6844972
今天看CY7C68013开发手册时,突然想起,在USB接口描述符中有一个bAlternateSetting字段一直没用过,花了一上午时间也没找到相关资料!就在快中午时突然看到一句话:“bAlternateSetting用于在同一个接口中的多个描述符中进行切换". 一下子感觉抓住要点了。经过百度及查阅USB specification2.0得出如下结论:
在USB协议中同一个配置中的不同接口不能共用端点。
同一个接口可以有多个接口描述符,用bAlternateSetting来识别.
同一个接口的不同接口描述符,可以拥有相同的端点。
同一个接口中的不同描述符可以像其他接口描述符一样写在配置描述符里
例如:我们在有些情况下需要对某个接口描述符中的某个端点的传输类型进行更改,那么我们就需要使用这种方式来达到我们的要求!
如果事实真的这样的,那么上位机驱动在查找接口描述符中必然 要有一个参数bAlternateSetting来识别相同接口的不同描述符,我们来看一下
VOID
UsbBuildSelectInterfaceRequest(
IN PURB Urb,
IN USHORT Length,IN USBD_CONFIGURATION_HANDLE ConfigurationHandle,
IN UCHAR InterfaceNumber,
IN UCHAR AlternateSetting
);
PUSB_INTERFACE_DESCRIPTOR
USBD_ParseConfigurationDescriptorEx(
IN PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor,
IN PVOID StartPosition,
IN LONG InterfaceNumber,
IN LONG AlternateSetting,
IN LONG InterfaceClass,
IN LONG InterfaceSubClass,
IN LONG InterfaceProtocol
);
这两个函数中都有一个共同的参数:AlternateSetting!
至此,基本可以说明得出的结论是正确的!
- 关于接口描述符中bAlternateSetting的使用
- 关于接口描述符中bAlternateSetting的使用
- 关于接口描述符中bAlternateSetting的使用
- Dlephi中关于接口方法的使用
- AIDL接口描述语言的使用
- 描述符的使用
- 关于sort()的使用的一些描述
- TCP/IP关于环回接口的描述
- Oracle中关于DateTime的一些描述
- java中关于容器的描述
- 关于swap()使用的一些描述
- 关于android开发中接口回调的使用
- 关于openGL中glReadPixels接口的一点使用心得
- 关于java8接口中默认方法的使用
- 关于接口的使用,接口的引用
- 关于 Spring 中使用 classpath: 构建资源路径的官方描述
- Symbian中字符串描述符的使用编程
- 接口描述符interface
- Oracle X$ Tables
- hdu2126Buy the souvenirs (01背包+记录路径的种数)
- UVA - 11627 Slalom
- 写一个自己的javascript库
- hdu1166 敌兵布阵
- 关于接口描述符中bAlternateSetting的使用
- iPhone开发之 ARC是什么
- 文件追加写
- Combinations
- 关于USB微帧与数据包包长与端点缓冲区的理解
- 基于visual Studio2013解决面试题之0410计算二进制中1的个数
- C++创建动态链接库(*.dll)
- 新手初学opencv及opencv2.4.6配置VS2010
- Android学习第一天