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

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

[复制链接]
STMCU小助手 发布时间:2022-4-9 22:15
(1)工程配置
时钟配置:

91A9[TEYV3R1@IP90PV1ZM7.png

USB配置:

a8017b13f797486dad347078b5fa2dcd.png

8363918774634c209d7996c49ac38258.png

9b97953d5f5d49fc89e80ea71ca7b060.png
CRB01ROZ%@SGEJQ}D[XF@26.png

IQHB$RBDT%@~)XI356B}N27.png


这里注意,由于USB使用的内存申请方式是静态数组,所以这里我们不需要设置堆空间。

A)5AQ9Z60GATV()7O)[XT.png

然后生成代码就可以了。

(2)代码修改
代码修改也是比较简单的,就光修改一个文件:usb_storage_if.c,这个文件是与硬件的操作函数接口,具体修改如下:

初始化函数:

GNGCGXWTWS16GUWFA8[M(B5.png

获取容量:

_`$T(]G]D})1[[Q%}[XE2%Y.png

状态和写保护:

N%VE%WNC8{%JHVWWD]CGO3K.png

读数据:

UR1MBMFN6MTMN~KKWXUQW1W.png

这里要注意参数blk_addr和blk_len,blk_addr是传进来的块索引,所以块索引乘块大小才是真正的地址,blk_len是要读取的块个数,不要被名字所迷惑。

写数据:

C7(H[IXSE~%{@J%OUD@@}XM.png

至此就已经移植完成,下载程序到单片机,接入电脑后:

}S2)605XJ[Y@[0){UC0~58O.png



收藏 评论0 发布时间:2022-4-9 22:15

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版