logo资料库

用STM32CubeMX快速生成一个U盘模拟程序.pdf

第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
资料共9页,剩余部分请下载后查看
用 STM32CubeMX 快速生成一个 U 盘模拟程序 前提:默认已经装好 MDK V5 和 STM32CubeMX。 Step1.新建工程 选择芯片型号。 Step2.配置时钟引脚。 Step3.配置 USB 引脚。
Step4.配置 USB 设备类。 Step5.配置时钟树,USB 模块输入要求为 48MHz 时钟。 Step6.配置 USB 设备描述符。此处默认即可。
Step7.生成 MDK 工程及代码。特别注意,一定要加大堆栈大小,否则 USB 设备无法启动。 Step8.打开 MDK 工程。
Step9.选择芯片型号。 Step10.编译工程。
Step11.编译下载运行。 运行程序后,通过 USB 线链接电脑,将出现如下提示信息。 查看 “设备管理器”,可以看到 USB MSC 设备。
“我的电脑”界面下可以可移动磁盘。 但是,双击无法打开,出现格式化提示。
进入格式化对话框,可以看到磁盘总容量是 32MB。 实际上无法进行格式化操作。 Step12.修改代码。只需修改 usbd_storage_if.c 文件。 将 60 行的宏定义改为 200,即将要模拟的 U 盘有 200 个扇区。61 行是扇区大小定义 512。
用 60,61 行的宏,定义一个二维数组,这个数组就是将要模拟的 U 盘的实际存储空间。 因此该 U 盘总容量为 100KB。 然后为两个函数添加功能,一个是读块,一个是写块。他们是对 msc_data 数组的读写操作。 操作规则就和 SD 卡一样,按照 512 字节为一个扇区进行整体的读/写。 Step13.再次编译下载运行。 运行程序后,通过 USB 线链接电脑,不再像前一次一样出现很多提示信息,只是在任务栏 最右边出现 U 盘插入的图标。 在“我的电脑”界面下可以看到“可移动磁盘”。双击无法打开,提示进行格式化,点“是” 进入格式化窗口。可以看到 U 盘容量为 100KB。 勾选“快速格式化”,点击“格式化”按钮。不支持普通格式化,我也没弄清楚原因。
分享到:
收藏