STM32CubeMX | STM32基于HAL实现USB模拟U盘


目录

  • STM32CubeMX | STM32基于HAL实现USB模拟U盘
    • (1)工程配置
    • (2)代码修改

环境说明:

  • win10
  • STM32F103C8T6
  • STM32CUBEMX6.1.1

本章博客涉及代码,关注以下公众号,回复关键字stm32-udisk获取下载链接!


(1)工程配置

时钟配置:

USB配置:


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

然后生成代码就可以了。

(2)代码修改

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

初始化函数:

获取容量:

状态和写保护:

读数据:

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

写数据:

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


ends…

STM32CubeMX | STM32基于HAL实现USB模拟U盘相关推荐

  1. STM32基于HAL工程硬件I2C读写AT24C02/04/08数据

    STM32基于HAL工程硬件I2C读取AT24C02数据 ✨申明:本文章仅发表在CSDN网站,任何其他网站,未注明来源,见此内容均为盗链和爬取,请多多尊重和支持原创!

  2. STM32基于HAL工程读取DHT11数据

    STM32基于HAL工程读取DHT11数据 ✨申明:本文章仅发表在CSDN网站,任何其他网站,未注明来源,见此内容均为盗链和爬取,请多多尊重和支持原创!

  3. STM32CubeMX | STM32使用HAL库进行脉冲宽度和周期测量

    STM32CubeMX | STM32使用HAL库进行脉冲宽度和周期测量 扫描以下二维码,关注公众号雍正不秃头获取更多STM32资源及干货! 使用芯片:STM32F103RCT6 思路:定时器设置为1 ...

  4. 简单实现stm32f103芯片usb模拟U盘进行IAP更新用户程序

    更新单片机内的用户程序,方式一般都是仿真器,串口,网络口,usb DFU,另类一点CAN也行,但是这些方式都有一个共同点,必须要有相应的上位机配合操作,还要教会别人使用,那么能不能有更简单傻瓜化的升级 ...

  5. 正点原子STM32(基于HAL库)0

    目录 开发环境搭建与使用 常用开发工具简介 MDK 安装 仿真器驱动安装 CH340 USB 虚拟串口驱动安装 使用MDK5 编译例程 使用串口下载程序 使用DAP 下载与调试程序 使用DAP 下载程 ...

  6. 正点原子STM32(基于HAL库)5

    目录 SRAM 实验 存储器简介 SRAM 方案简介 硬件设计 程序设计 程序流程图 程序解析 下载验证 内存管理实验 内存管理简介 硬件设计 程序设计 程序流程图 程序解析 下载验证 SD 卡实验 ...

  7. STM32基于HAL工程读取DHT11/DHT22/AM2302/AM2301

    STM32基于STM32-HAL工程读取DHT11/DHT22/AM2302/AM2301 ✨申明:本文章仅发表在CSDN网站,任何其他网站,未注明来源,见此内容均为盗链和爬取,请多多尊重和支持原创!

  8. 正点原子STM32(基于HAL库)3

    目录 高级定时器实验 高级定时器简介 高级定时器输出指定个数PWM 实验 高级定时器输出指定个数PWM原理 TIM1/TIM8 寄存器 硬件设计 课堂源码(输出指定个数PWM灯就闪几次) 程序设计 下 ...

  9. 正点原子STM32(基于HAL库)4

    目录 ADC 实验 ADC 简介 单通道ADC 采集实验 ADC 寄存器 硬件设计 程序设计 下载验证 单通道ADC 采集(DMA 读取)实验 ADC & DMA 寄存器 硬件设计 程序设计 ...

最新文章

  1. IBM发布全新合作伙伴计划 共赢认知商业时代
  2. scipy的一些函数名
  3. spring-others
  4. 从流程上对rtmp协议经行总结
  5. mysql结果以字符串显示不出来,mysql – 为什么SQl MATCH AGAINST找不到结果中只有3个字符的结果?...
  6. [nginx报错]---unknown directive chunkin in /XXXXX/XXXXXX:XX的几种解决方式
  7. 开启服务_Nike Dunk 开启定制服务
  8. 栈的应用 - 就近匹配
  9. 2022年最新《谷粒学院开发教程》:6 - 整合SpringCloud
  10. QCA9377驱动调试
  11. 学习Python爬虫有哪些书籍书籍?看这几本书就够了
  12. 计算机考研浙江理工和江苏大学,杭州电子科技大和浙江理工大学这两所大学怎么样?哪所好?...
  13. 基于STM32的NRF24L01模块一对一的问题记录
  14. 4.3 木马隐藏分析
  15. 计算机小学生二年级知识,小学二年级语文知识点之拼音技巧
  16. [他山之玉]轮值董事长郭平 2019年新年致辞
  17. Material 的 Tiling 和 Offset
  18. 第33次Scrum会议(11/21)【欢迎来怼】
  19. k歌打分原理php,全民K歌修音教程:想要获得SSS评分其实很简单
  20. 头条面试官:在浏览器地址栏输入一个URL后回车,背后会进行哪些技术步骤?

热门文章

  1. python三菱modbus解密_学习笔记python-modbus rtu的实现
  2. Ubuntu 22.04 将python3.10设置为3.9部分软件不能启动
  3. 车载通信协议-列车实时数据协议(TRDP)
  4. 杂散干扰解决办法_实用干货——6种常见杂散问题的成因分析及解决办法
  5. 卷积神经网络的应用(人脸识别)
  6. LINUX指令集介绍
  7. 在Ubuntu系统上安装Windows 10(真实有效)
  8. 易语言软件加VMProtect壳的正确方法
  9. php百度登录完整代码_百度熊掌号专业问答PHP方式推送完整代码(附说明)
  10. soc 设计soc设计 uml实务手册_SoC技术的发展