USB复合设备调试 STM32
2018-03-01 21:00
1321 查看
STM32 USB复合设备调试过程,复合设备一般要用到IAD(接口关联描述符),但是我在网上下载的几个例程都没有用到IAD,最后发现如果USB复合设备只用到两个接口,即复合的两个功能(MSC & HID)各占用一个接口,这种情况是不需要用
IAD的。我是这样做的:直接在ST提供的MSC例程上修改,在MSC的配置描述符后面添加一个interface(HID接口),接口描述符不熟悉,直接在网上拷贝一个成功的例程,这一步的问题不大,HID设备还需要一个报告描述符,这个比较复杂,但是为了简化应用,也直接拷贝一个成熟的报告描述符,这里面可以设置的东西很多,但是我们用的简单,针对数据输入与数据输出各建立一个报告。报告长度都设置为64字节。还以为ST没有提供复合设备的例程,其实ST公司在老版本的USB LIB 4.0版本里是有提供MSC+HID复合设备的,我知道这个信息的时候,已经在ST的 USB OTG新版本库中移植成功了MSC&HID复合设备,composite device其它我应该会提前半天调试成功的,有一个VID耽误了我好长时间,VID PID是USB厂家在USB ORG组织注册的唯一ID号,VID是厂家ID号,PID是产品ID号,USB主机系统通过PID还确认此设备是什么类型的USB设备,我移植的MSC例程是0x5710,我做复合设备的时候也没清楚还有这么一说,就没有改这个PID,所以我的HID设备一直没有识别出来,尽管我在配置描述符中也增加了HID的接口,一个偶然的机会我发现我的VID,PID与我移植的例程不一样,我改成例程的0X0606 0X5606之后马上就识别成功了,这时我才意识到VID PID的重要性,马上上网查VID PID的作用,原来如此!! 原来WINDOWS操作系统也懒省事,如果发现VID PID已经有注册了,直接按注册的产品类型来加载驱动,如果没有注册才去按“配置描述符”加载驱动,我把VIDPID都修改为0 0,果然WINDOWS也能识别出我的复合设备composite device
相关文章推荐
- STM32 USB 复合设备开发的技巧
- STM32 USB Mass Storage 例程调试笔记
- stm32 usbHID调试小结
- STM32 USB HID设备驱动分析
- stm32 usbHID调试小结
- STM32 USB HID 自定义设备 bulk 传输
- Android设备调试(一)没有USB插口,通过TCP/IP调试
- USB设备驱动调试
- stm32usb功能设备以及在linux下的USB相关总线、设备驱动笔记
- stm32 USB hid设备与PC进行双向数据传输时PC不识别USB设备
- STM32实现HID和u盘复合设备
- Ubuntu下使用adb和USB连接的方式进行android设备调试
- 基于STM32的USB程序开发笔记(四)——USB设备的枚举(上)
- s5p4418调试usb camera设备结果分析与usb驱动简要分析
- 从头开始调试stm32 USB HID
- GUIDReporter:辅助调试USB设备的一个小工具
- stm32USB设备的连接枚举过程
- B4A 或其它Android开发平台连接USB设备进行调试
- 从调试数据分析USB通信协议——USB键盘鼠标【HID类设备】(四)
- USB复合设备与组合设备的区别