STM32CubeMX | STM32基于HAL实现USB模拟U盘
环境说明:
- win10
- STM32F103C8T6
- STM32CUBEMX6.1.1
本章博客涉及代码,关注以下公众号,回复关键字stm32-udisk
获取下载链接!
(1)工程配置
时钟配置:
USB配置:
这里注意,由于USB使用的内存申请方式是静态数组,所以这里我们不需要设置堆空间。
然后生成代码就可以了。
(2)代码修改
代码修改也是比较简单的,就光修改一个文件:usb_storage_if.c
,这个文件是与硬件的操作函数接口,具体修改如下:
初始化函数:
获取容量:
状态和写保护:
读数据:
这里要注意参数blk_addr
和blk_len
,blk_addr是传进来的块索引,所以块索引乘块大小才是真正的地址,blk_len是要读取的块个数,不要被名字所迷惑。
写数据:
至此就已经移植完成,下载程序到单片机,接入电脑后:
ends…