stm32--USB(作为U盘)+FatFs的实现

一、USB功能的添加(作为U盘)

添加文件

将官方库中的Library文件夹中的所有有效文件添加到工程中,分为4个文件夹:

  1. usb class为硬件相关(Library\Class);
  2. usb driver为底层驱动(Driver);
  3. usb library为设备核心库(Library\Core);
  4. usb application为自建目录,存放上述三个文件夹中的各需要修改的template文件(.c.h各2个),和官方例程中的几个文件(3个.c1个.h)。
  5. 前三个目录下的文件均为只读,不修改;移植时只修改usb application目录下的文件。

移植修改

  1. usbd_desc.c、.h, usbd_pwr.c, usbd_usr.c:来自官方例程,不修改
  2. usb_conf.h:去掉eval相关的两个.h包含;添加#define INTERNAL_PULLUP
  3. usbd_conf.h:删除MSC Class之外的所有Class defines;修改MSC_MEDIA_PACKET为单扇区大小(4096)
  4. usb_bsp.c:
  • 1
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一直想弄USB来着,今天就调试了下读U盘程序,自己测试了三个U盘和一个读卡器(U盘为4G、16G、16G,内存卡为2G)均可正常读取。废话不多说,介绍下实现的功能(各功能通过User键切换): 首先来张靓照,屏幕摔了两块,不敢买第三块了,索性拆了以前山寨机上的屏幕,自己做了个转接板,驱动成功(嘿嘿!) 1、读U盘信息,包括PID、VID和制造商等信息,如图: 2、读取U盘容量,用电脑看了下,容量一点不错。还有就是读取文件目录(这里暂时只做了两级显示) 3、创建一个TXT文件,并写入“STM32 Connectivity line Host Demo application using FAT_FS ”,在电脑端打开该TXT文件,其写入字符串正确。 4、显示一张BMP格式的图片(BMP图片显示最直接,就先弄它了),来自于ST 可实际发现,其图片竟然被镜像了,原因还在寻找中(估计是驱动有问题)。不管怎样,U盘读成功之后,以后玩Discovery就爽多了,各种图片、音乐甚至是AVI视屏都有可能实现啦!还是那句老话,独乐乐不如众乐乐,代码必须得传上来,嘿嘿! 总结: 欢迎各位坛友在此基础之上完成新的功能,例如MP3格式音乐解码播放(WAV格式音乐毕竟非主流,播放一会主芯片还发热,就不搞WAV了)。还有emWin,我目前只是移植成功了,还没学会如何结合自己的需求进行应用,并且FPU功能的异常中断问题还没解决,只能不使用FPU演示。
从引用中可以得知,STM32USB座位直接连接到STM32芯片上,因此在硬件上不需要进行任何操作。同时需要注意的是,USB母座和MiniUSB座是共用D和D-的,所以它们不能同时使用。 在引用中提到,STM32H750的USB OTG FS支持U盘,并且ST官方提供了USB HOST大容量存储设备(MSC)例程。这意味着STM32USB功能可以与FATFS共用内存。通过移植ST官方的USB HOST例程到STM32开发板上,就可以通过USB HOST接口读写U盘或SD卡读卡器等设备。 所以,STM32USBFATFS是可以共用内存的。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span> #### 引用[.reference_title] - *1* *3* *4* [【正点原子STM32连载】第五十九章 USB U盘(Host)实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1](https://blog.csdn.net/weixin_55796564/article/details/127587351)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [stm32--USB(作为U盘)+FatFs实现](https://blog.csdn.net/weixin_30263277/article/details/97591490)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值