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

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

[复制链接]
zhenzhen 发布时间:2016-1-20 16:45
本帖最后由 zhenzhen 于 2016-1-21 10:23 编辑 ) I$ L: s$ a5 ]# V$ x
& ?! a! I; h1 S- H
  官方CUBE库里面没有USB主机兼USB设备的例子,因项目要求同一个USB口能支持U盘读写和与PC通信,自己就按照官方例子写了个例程。
* K; @6 f5 D& a2 q3 v  程序实现了MSC主机和CDC设备的功能。设备处于哪种角色取决于ID线的状态:当ID线接地或插入microA接口时,设备工作于MSC主机模式;当ID线悬空或插入microB接口时,设备工作于CDC设备模式,在上电状态也可以热切换。
- M" G! W  V( M4 g5 N: B' U4 i) I4 n* w
  设备工作于MSC主机模式时,会在插入的U盘根目录创建“STM32.TXT”文件,并写入“This is STM32 working with FatFs ”文本。+ A( o: V3 X0 ^) }
  设备工作于CDC设备模式时,在PC端会形成一个虚拟串口,PC通过串口发送给设备的数据,设备会回复给PC。
4 z, a0 i( a8 q/ l2 E: m
) M3 [3 M: i& C! o0 _

USB设备

USB设备
( l7 G& U) [, b0 T5 g

设备管理器

设备管理器
1 `9 i; O, b) o' n1 {
! o  i1 y8 q5 l  C! P- }

串口通信

串口通信
9 H# W( {0 |: z, J7 }
/ `% B$ X. F" Z8 z

USB主机

USB主机
( C9 [" ]4 Y7 W/ T. I) M8 U
8 W  s2 Z- _7 u& |; f

U盘

U盘
) G. r" S9 G% K) u& Q/ f
8 ?$ \: Q$ F4 G. }8 P
USBH_D_Demo.zip (3.81 MB, 下载次数: 3239)
收藏 23 评论35 发布时间:2016-1-20 16:45

举报

35个回答
aiherong 回答时间:2019-12-18 03:47:24
个人对9楼的原因分析:
7 ]+ I3 A. b$ n$ a. M9 E你把USB设备端做好了,单独试都没问题,那是因为PC对每种USB设备有对应单独驱动程序,
! z. U  K' n8 L6 Q但当把各种USB设备混合在一起时,PC没有这样的专门驱动程序来识别,必须自己写PC端USB驱动,
4 v# p0 b& x  f! ]2 A在那里区分设备,分配GUID……,然后做出相应处理才能实现混合功能!(择日上传一例程分亨给大家)
Dylan疾风闪电 回答时间:2016-1-21 10:33:42
我的USB复合设备已经搁置了。(USB-  键盘、鼠标、SDIO的TF卡,单独功能已ok,就是复合后PC无法识别)HAL库的资料太少,又不想用以前的库。6 I. g$ w/ ^4 e; \0 h; R& Q
以前的库是有鼠标键盘的复合设备源码。
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, 下载次数: 2629)
沐紫 回答时间:2016-1-20 17:36:24
xmshao 发表于 2016-1-20 17:325 T7 D7 A5 Q% n
cube库目前好像真没有复合设备的例程。不过非CUBE库文件有。
$ k  ]% }. G$ B
谢谢!
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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版