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

【经验分享】STM32基于HAL实现USB模拟U盘

[复制链接]
STMCU小助手 发布时间:2022-4-9 22:15
(1)工程配置" Q% E6 h* x4 u" U
时钟配置:
- ]2 l- C! h, a3 u8 C+ H+ R- }7 x3 d. b, a
91A9[TEYV3R1@IP90PV1ZM7.png ! x! s$ X" g3 u* h

1 |+ p4 i: X  [USB配置:  L& u9 F, Y4 U/ b5 j

3 ^9 U! T6 Z6 E; h3 B: [ a8017b13f797486dad347078b5fa2dcd.png 9 P, Z  j( r5 W
0 q4 k7 Z' E5 m% K5 W) _  [4 P
8363918774634c209d7996c49ac38258.png
# d) H; b; [* A0 A7 _8 c6 p- R" x4 e4 E8 z$ R5 \
9b97953d5f5d49fc89e80ea71ca7b060.png 6 O1 i) G8 o8 |; }+ D, Y. o9 Z
CRB01ROZ%@SGEJQ}D[XF@26.png 7 b3 _; l2 F, M4 \; \. L
7 k+ ^; U5 `* b* o8 E/ D- R5 U9 R" d
IQHB$RBDT%@~)XI356B}N27.png
1 K2 [1 L8 i; Z$ }8 ^
2 K( U  r( v1 b3 [2 b8 T3 ^* g
* c: [) C7 s/ k这里注意,由于USB使用的内存申请方式是静态数组,所以这里我们不需要设置堆空间。
4 s$ M7 G" ]$ H
" g* y! a! v- r A)5AQ9Z60GATV()7O)[XT.png
6 H: Z: ]- [+ |7 _
* }  B( R! D# Y) Q$ M' f( @# T/ J( B% h然后生成代码就可以了。
. E( Q: W" x' x7 y0 ]. a
, q/ o' b/ c8 R- D0 r6 ](2)代码修改* b' O9 P  m" m+ \/ P) u7 s
代码修改也是比较简单的,就光修改一个文件:usb_storage_if.c,这个文件是与硬件的操作函数接口,具体修改如下:
" j2 y3 H& I& J, v; o' n7 [& [2 L0 a/ r% X( G6 A% B
初始化函数:
5 M5 k: K7 ~+ b6 s
. w9 x% c9 j2 a) f4 \2 U3 C" F, O GNGCGXWTWS16GUWFA8[M(B5.png
. v& F4 T$ P% b' I# _! B* w
* p" n, {  n9 N2 _获取容量:
: ?. F+ M" W  D$ Y1 [, k
* ~: l/ P& d; L3 t _`$T(]G]D})1[[Q%}[XE2%Y.png
* C7 }! @" X9 t; [4 Z8 m+ c0 P# r* H/ j) y3 i& T: B( C
状态和写保护:
: C, W) w2 ]7 o  m- k- f; V+ i6 @# W5 E. B
N%VE%WNC8{%JHVWWD]CGO3K.png
3 _' ~9 h% ?5 M8 n- t6 Q) ?; ?4 d8 y8 q: a) w# B9 w
读数据:( p$ e& O* ]2 m% s
  w* v9 t- S3 |$ S
UR1MBMFN6MTMN~KKWXUQW1W.png
3 w" P  A9 c! I, S( I2 o) L, }- V& E6 O( b* t  h( L7 i- F- _
这里要注意参数blk_addr和blk_len,blk_addr是传进来的块索引,所以块索引乘块大小才是真正的地址,blk_len是要读取的块个数,不要被名字所迷惑。
( c1 j  R2 D& h
8 @! f7 N) V+ B; d  P写数据:+ m4 E" T9 W# A; b0 P/ b

: d; i$ F& t  U' b2 _+ e5 D- }- O C7(H[IXSE~%{@J%OUD@@}XM.png " s6 e& V3 M1 S0 ]) Y5 ]" _' O

  J. c% V1 p8 Z/ ]至此就已经移植完成,下载程序到单片机,接入电脑后:; I/ y2 m7 O! h, o, l. p0 Z5 p
% \6 w2 b4 G& w% E
}S2)605XJ[Y@[0){UC0~58O.png
" v. z5 C; W( w/ j: P6 \, [8 D* q* N0 ^

  q7 x1 Z& q0 A9 w+ s
6 _! S! q6 q* u% ^+ S2 i3 B- U
赞 收藏 评论0 发布时间:2022-4-9 22:15

举报

0个回答

所属标签

相似技术帖

官网相关资源

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