本帖最后由 zhenzhen 于 2016-1-21 10:23 编辑 ! ]4 G/ b& n* U" w9 T ' H1 \( P: @% f 官方CUBE库里面没有USB主机兼USB设备的例子,因项目要求同一个USB口能支持U盘读写和与PC通信,自己就按照官方例子写了个例程。 程序实现了MSC主机和CDC设备的功能。设备处于哪种角色取决于ID线的状态:当ID线接地或插入microA接口时,设备工作于MSC主机模式;当ID线悬空或插入microB接口时,设备工作于CDC设备模式,在上电状态也可以热切换。 设备工作于MSC主机模式时,会在插入的U盘根目录创建“STM32.TXT”文件,并写入“This is STM32 working with FatFs ”文本。& @; R' v/ C/ x 设备工作于CDC设备模式时,在PC端会形成一个虚拟串口,PC通过串口发送给设备的数据,设备会回复给PC。' f6 i8 H4 g- r" _# ? ( M- E2 w' z& }, S% w6 | USBè®¾å¤ è®¾å¤ç®¡çå¨ 6 A3 ]# H7 p3 K( N. x h- r" `/ P 串å£éä¿¡ + I4 [/ i5 c4 P: ?% E4 F USBä¸»æº * X0 Y. a8 k5 {& M Uç |
最全USB HID开发资料,悉心整理一个月,亲自测试
STM32固件库分享,超全系列整理
【中文文档】AN3965_STM32F40x和STM32F41x基于串口的IAP
USB Audio设计与实现
【MCU实战经验】+STM32F107的USB使用
圈圈发布USB图书第二版有感,以及分享一些我学习USB过程...
STM32 USB-HID通信移植步骤STM32 USB HID键盘例程
STM32F4中文用户手册
基于STM32F407的FreeRTOS阶段性的总结(13)
STM32F400、STM32F402 Cortex-M4超值单片机
你把USB设备端做好了,单独试都没问题,那是因为PC对每种USB设备有对应单独驱动程序,
但当把各种USB设备混合在一起时,PC没有这样的专门驱动程序来识别,必须自己写PC端USB驱动,
在那里区分设备,分配GUID……,然后做出相应处理才能实现混合功能!(择日上传一例程分亨给大家)
以前的库是有鼠标键盘的复合设备源码。
cube库目前好像真没有复合设备的例程。不过非CUBE库文件有。6 c, u( x {9 a. L- ?- J; o7 A, {! l
谢谢!