STM32F4-usb_slave u盘

使用stm32F4的HSUSB移植一个usb和sd卡组合当做U盘使用的操作

想要做到这个功能,大致如下几个步骤
1,SDIO/SPI 驱动 SD卡,具体的驱动可以使用keil提供的eval库
2,下载usb device驱动,我们这里使用的是被动模式,slave
3,添加usb文件到工程
4,修改添加usb底层驱动代码

其实,移植usb驱动相对来说比较简单,只需要知道什么是移植。usb驱动是干嘛用的,大致了解它的工作顺序就可以了,这里只做简单的简绍移植步骤,具体的usb配置这里不说(其实我也没有搞透)

1,SDIO/SPI 驱动 SD卡
驱动SD卡,SD卡的接口我知道的有两种,一种是SDIO接口,一种是SPI接口的,不过无论哪种接口,都不影响,因为底层代码已经有一个现成的库写好了。
EVAL库是由3.5的标准库提供的,在目录

STM32 3.5固件库官网原文件\STM32F10x_StdPeriph_Lib_V3.5.0\Utilities\STM32_EVAL\Common

这下面有这么几个文件这里写图片描述

从名字可以看出来,分别是几个不同模块的驱动方式,我们这里选择的是SDIO_SD模式,(注意区分F4的库和F1的库)
基本上添加到工程里面,然后调用sd_init 函数初始化之后,就可以用read write进行操作了

2,下载usb device驱动,添加usb文件到工程
usb驱动可以去ST官网是下载,只需要下载device模式的就可以了
我这里没有下载官网的,使用的是野火的例子ÿ

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
一直想弄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演示。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值