你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F4-DISC 实现USB主机(U盘)和USB设备(虚拟串口)自动切换 精华  

[复制链接]
zhenzhen 发布时间:2016-1-20 16:45
本帖最后由 zhenzhen 于 2016-1-21 10:23 编辑 $ V: i& u5 L/ k; `. e
* w8 z. V1 D, V- W
  官方CUBE库里面没有USB主机兼USB设备的例子,因项目要求同一个USB口能支持U盘读写和与PC通信,自己就按照官方例子写了个例程。; m6 K, z& l6 i- p# V/ V8 p& d
  程序实现了MSC主机和CDC设备的功能。设备处于哪种角色取决于ID线的状态:当ID线接地或插入microA接口时,设备工作于MSC主机模式;当ID线悬空或插入microB接口时,设备工作于CDC设备模式,在上电状态也可以热切换。7 I5 [4 i0 I5 i8 D
! M4 Q6 [: h* i# ~( }
  设备工作于MSC主机模式时,会在插入的U盘根目录创建“STM32.TXT”文件,并写入“This is STM32 working with FatFs ”文本。
' v6 v5 M/ f7 m' N, W' \" H  设备工作于CDC设备模式时,在PC端会形成一个虚拟串口,PC通过串口发送给设备的数据,设备会回复给PC。- B1 L3 X; T. |! T5 j

9 k" ]( P2 B3 C! i- H9 p

USB设备

USB设备

. |( h8 z; N2 }: m8 c- V% y0 z) P+ [1 _

设备管理器

设备管理器

6 c5 c; M4 D2 H0 E/ c. P* L# ^2 i  _  k* }$ a

串口通信

串口通信
( ]7 _- l) q6 U' v2 p0 ~, r
7 o1 P8 E' X0 k: G

USB主机

USB主机
. X1 `- M" N* N

' F1 ?9 `$ ?* i% s

U盘

U盘
3 |7 F1 l; A3 p! W1 n8 w; W$ v6 n

8 J6 E* h! ^, ~3 g+ @! N2 E USBH_D_Demo.zip (3.81 MB, 下载次数: 3288)
赞 收藏 23 评论35 发布时间:2016-1-20 16:45

举报

35个回答
aiherong 回答时间:2019-12-18 03:47:24
个人对9楼的原因分析:* [% G. G& R( K; r
你把USB设备端做好了,单独试都没问题,那是因为PC对每种USB设备有对应单独驱动程序,; s% I' Y2 A% A( ?7 ~4 j; t, Y& q
但当把各种USB设备混合在一起时,PC没有这样的专门驱动程序来识别,必须自己写PC端USB驱动,1 J  j2 f( q1 p
在那里区分设备,分配GUID……,然后做出相应处理才能实现混合功能!(择日上传一例程分亨给大家)
Dylan疾风闪电 回答时间:2016-1-21 10:33:42
我的USB复合设备已经搁置了。(USB-  键盘、鼠标、SDIO的TF卡,单独功能已ok,就是复合后PC无法识别)HAL库的资料太少,又不想用以前的库。
9 o: W1 Q+ A0 P/ \3 {4 F以前的库是有鼠标键盘的复合设备源码。
mengmen 回答时间:2018-1-12 18:40:58
我将F407的文件改为F429的,编译没有错误,但是debug的时候找不到JTAG,把J-link 拔了,重链接上,有时候能看见设备,但是下载的时候JTAG就又没有链接了,请问您知道怎么回事吗
zhenzhen 回答时间:2016-1-20 16:55:45
压缩包里面有程序说明。
xmshao 回答时间:2016-1-20 17:32:37
stm32_f105-07_f2_f4_usb-host-device_lib.zip (3.73 MB, 下载次数: 2634)
沐紫 回答时间:2016-1-20 17:36:24
xmshao 发表于 2016-1-20 17:328 N! W5 W/ i- Z* l6 _' Q2 ?7 p) J
cube库目前好像真没有复合设备的例程。不过非CUBE库文件有。

! y) w  Q! Q/ q- [3 d4 W谢谢!
xmshao 回答时间:2016-1-20 17:44:19
应该说双角色才合适。
moyanming2013 回答时间:2016-1-20 17:52:35
分享的吗
埃斯提爱慕 回答时间:2016-1-20 20:01:00
提示: 作者被禁止或删除 内容自动屏蔽
stary666 回答时间:2016-1-21 09:42:02
看看,,,,,,,,,
xuguomin 回答时间:2016-1-22 09:07:20
赞一个。。。
湉湉 回答时间:2016-1-23 13:42:04
好东西 谢谢LZ
yanhaijian 回答时间:2016-1-23 13:51:40
这个有点小牛逼。
电子技术2014 回答时间:2016-1-23 17:33:03
谢谢,学习
舟游死海 回答时间:2016-1-25 09:07:28
学习的好助手,感谢楼主分享
HanchengLV 回答时间:2016-2-15 00:46:26
xie谢谢 留住
123下一页

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版