STM32 USB读写U盘
一、USB基本知识
1.OTG是On-The-Go的缩写,是近年发展起来的技术。2001年12月18日由USB标准化组织公布,主要应用于不同的设备或移动设备间的联接,进行数据交换。
2.USB连接的协议
USB连接还使用一些协议来管理数据传输和设备通信。其中最常见的协议包括USB Mass Storage Class(MSC)和USB Human Interface Device(HID)。
USB MSC协议用于管理存储设备,例如闪存驱动器和外部硬盘驱动器。它允许计算机与存储设备通信,并在设备上读取和写入文件。
USB HID协议用于管理输入设备,例如键盘和鼠标。它允许计算机接收设备发送的输入数据,并将其转换为可理解的命令。
此外,还有其他许多USB协议,例如USB Audio Class、USB Video Class、USB Printer Class等等。每个协议都是为特定类型的设备而设计的,以确保设备与计算机之间的兼容性和正确通信。
二、
是根据正点原子<<STM32F407最小系统板开发指南-库函数版本_V1.2.pdf>> USB章节移植
1.USB驱动文件
项目新建文件夹USB_Lib,把STM32_USB-Host-Device_Lib_V2.1.0如下文件拷贝过去
STM32_USB-Host-Device_Lib_V2.1.0\Libraries\STM32_USB_Device_Library
STM32_USB-Host-Device_Lib_V2.1.0\Libraries\STM32_USB_HOST_Library
STM32_USB-Host-Device_Lib_V2.1.0\Libraries\STM32_USB_OTG_Driver
2.USB使用文件
根据所需要的USB类型不同,找STM32_USB-Host-Device_Lib_V2.1.0\Project不同类型的例子。
在项目USB_Lib文件夹新建USB_App文件夹,读写U盘需要Project\USB_Host_Examples\MSC里以下文件
STM32_USB-Host-Device_Lib_V2.1.0\Project\USB_Host_Examples\MSC\src\usb_bsp.c
STM32_USB-Host-Device_Lib_V2.1.0\Project\USB_Host_Examples\MSC\src\usbh_usr.c
STM32_USB-Host-Device_Lib_V2.1.0\Project\USB_Host_Examples\MSC\inc\usb_conf.h
STM32_USB-Host-Device_Lib_V2.1.0\Project\USB_Host_Examples\MSC\inc\usbh_conf.h
STM32_USB-Host-Device_Lib_V2.1.0\Project\USB_Host_Examples\MSC\inc\usbh_usr.h