本帖最后由 zhenzhen 于 2016-1-21 10:23 编辑 $ j( G6 {/ L: k; s. k _ ) Q8 \+ d$ }9 r T 官方CUBE库里面没有USB主机兼USB设备的例子,因项目要求同一个USB口能支持U盘读写和与PC通信,自己就按照官方例子写了个例程。& M0 d* b8 ^! p9 | @) [3 r 程序实现了MSC主机和CDC设备的功能。设备处于哪种角色取决于ID线的状态:当ID线接地或插入microA接口时,设备工作于MSC主机模式;当ID线悬空或插入microB接口时,设备工作于CDC设备模式,在上电状态也可以热切换。( z" t. H# G( z6 ^( L; J 设备工作于MSC主机模式时,会在插入的U盘根目录创建“STM32.TXT”文件,并写入“This is STM32 working with FatFs ”文本。% n, {& a: w# c* t8 ~ 设备工作于CDC设备模式时,在PC端会形成一个虚拟串口,PC通过串口发送给设备的数据,设备会回复给PC。" G/ a- M: K* X2 y4 v3 A ' Q! l8 P7 X+ @+ c1 X5 R/ a USBè®¾å¤ è®¾å¤ç®¡çå¨ ä¸²å£éä¿¡ USBä¸»æº 4 ^6 I# s$ e' V* r Uç |
最全USB HID开发资料,悉心整理一个月,亲自测试
串口通信波特率异常的解决办法
刘氓兔的杂谈【001】-片上USB 高速PHY
【经验分享】在进行 USB CDC 类开发时,无法发送 64整数倍的数据
《RT-Thread设备驱动开发指南》书籍学习记录
STM32F407/STM32F417通过以太网实现在应用中编程 (IAP)
【源码】STLINK-V3MINI 高速USB仿真器,成功改刷【高速CMSIS-DAP】
在线直播|无需编写任何代码即可在STM32上实现USB-C Power Delivery
STM32 USB CDC 虚拟多串口
STM32固件库分享,超全系列整理
你把USB设备端做好了,单独试都没问题,那是因为PC对每种USB设备有对应单独驱动程序,. m1 v+ R# c, d" |& b% L: S
但当把各种USB设备混合在一起时,PC没有这样的专门驱动程序来识别,必须自己写PC端USB驱动,' I+ J8 t( j& h6 j7 H g
在那里区分设备,分配GUID……,然后做出相应处理才能实现混合功能!(择日上传一例程分亨给大家)
以前的库是有鼠标键盘的复合设备源码。
cube库目前好像真没有复合设备的例程。不过非CUBE库文件有。, J- p) Y5 r3 `) q2 m: S
谢谢!