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

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

[复制链接]
STMCU小助手 发布时间:2022-4-9 22:15
(1)工程配置! X0 F( Z  |) g7 f$ G$ x
时钟配置:
& R& M/ ?' e5 L
" _- M: E4 z. g& ^& R% W 91A9[TEYV3R1@IP90PV1ZM7.png * s0 L; `% p8 O& J6 X) X

8 z* `4 `- J" qUSB配置:/ s% Y/ `- _( o& \
* h& D7 b) D# H5 Z2 Z
a8017b13f797486dad347078b5fa2dcd.png / Y* f3 M% ?( \, S

. Y" p( e% F2 k* [  d2 K% y 8363918774634c209d7996c49ac38258.png
% Y+ w' o" M+ O- ]+ ^" w7 q9 F3 F( C# h. Y# f8 }3 s
9b97953d5f5d49fc89e80ea71ca7b060.png ; S: k; j1 w2 J# r
CRB01ROZ%@SGEJQ}D[XF@26.png
4 m5 j/ K, q) _0 W; y/ I- z8 K' o$ d5 n' s2 D. g2 k
IQHB$RBDT%@~)XI356B}N27.png
7 Q* U; C  Q7 z, Z% J
4 H. ~/ v( x* n  G* A9 j. F$ @( V" A5 a
这里注意,由于USB使用的内存申请方式是静态数组,所以这里我们不需要设置堆空间。9 w+ h! x0 c3 z
7 j8 H- T. `0 H/ [* {" l$ A
A)5AQ9Z60GATV()7O)[XT.png
/ V0 u0 R# Q. ?3 g, m+ F$ O
9 A! z9 _: Z1 J" ^8 _& B8 p  L$ p; v然后生成代码就可以了。
0 E! Z3 T: q, r2 b5 ?$ O2 J
3 i2 i% m" s( X0 @(2)代码修改
4 u  f/ H6 k  @9 l! w; h. Z. i代码修改也是比较简单的,就光修改一个文件:usb_storage_if.c,这个文件是与硬件的操作函数接口,具体修改如下:
6 `( E6 g5 S; v: S9 q3 Z8 _4 l7 r
! }, u) H* j7 i- K% [; i2 {) p初始化函数:
+ t7 F8 I7 N5 i# S# y& D3 }% {2 F( I
GNGCGXWTWS16GUWFA8[M(B5.png 9 v& E8 C$ k+ e% P1 D6 A

# h; Y4 p8 t: Q  F8 G- _+ `2 M5 m- z获取容量:8 V, c* L, S9 H' R7 {$ l* r
! o9 ?, N3 m6 z  q5 s- @, M/ J
_`$T(]G]D})1[[Q%}[XE2%Y.png 7 }1 @8 `4 G3 D% i/ i3 _5 E+ r) S
$ l. \- D. z! @0 B% f* r
状态和写保护:
: o: E9 F' W0 y4 m& i) n! h- d1 ~$ u2 Z7 l' u  U
N%VE%WNC8{%JHVWWD]CGO3K.png
- h4 n0 C4 A6 X8 i+ ~
8 n; q/ q7 h% P5 N/ F读数据:
8 ]6 e1 O+ l* F# A6 n' O5 d7 @7 @$ ]. u
UR1MBMFN6MTMN~KKWXUQW1W.png
+ O+ s" v  _: I/ O& R6 r& X/ {7 Z; U+ Y& w/ b
这里要注意参数blk_addr和blk_len,blk_addr是传进来的块索引,所以块索引乘块大小才是真正的地址,blk_len是要读取的块个数,不要被名字所迷惑。3 S2 F/ @9 w, F. A

/ M% j4 M9 r0 t$ x2 [写数据:" D( Q- E$ C# M; D& g' J

. }7 m& [+ l5 h: @ C7(H[IXSE~%{@J%OUD@@}XM.png 3 J0 I. {7 _& a3 X; n- r! X" B( g
- R) ~/ U3 A- U. R
至此就已经移植完成,下载程序到单片机,接入电脑后:
: V3 [6 f2 L1 B" y" i$ t3 ~
' B% V. y# u  o, H. A5 W }S2)605XJ[Y@[0){UC0~58O.png 5 k8 _/ N( H9 {) O, V- b7 ?
. J' d) O6 M! ?5 y1 ?) S% t

& g& ]% l2 E3 i) G- R* s6 ^. U- k. E9 O: t3 l5 R& F
赞 收藏 评论0 发布时间:2022-4-9 22:15

举报

0个回答

所属标签

相似技术帖

官网相关资源

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