解决:将SPIFlash的头文件从usbd_conf.h中移走,仅在usbd_storage.c中包含,问题解决,原因未明。 二、USB与FatFs不冲突的方案选择 USB和FatFs都会操作SPIFlash、对文件页表、目录表做出修改。如果同时在程序中开启USB、挂载FatFs,有可能出现同时修改文件页表、一方修改文件数据与另一方修改文件页表冲突、二者操作SPIFlash...
一个USB系统包括USB主机(USB HOST)、USB外设(USB DEVICE)和USB连接三个部分,USB外设又可以分为USB功能外设(USB FUNCTION)和USB集线器(USB HUB) 一个USB系统只能有一个USB主机,但USB主机通过连接USB集线器可以扩展USB端口数量,最多可以有127个USB从机,USB主机负责控制所有的USB外设,而USB外设接受USB主机的控制来实现...
使用SPI FLASH模拟U盘,并在电脑上打开该U盘可以看见通过 FATFS 创建的文件。 2. 创建项目 在已移植好文件系统的《FATFS》项目基础上,添加 USB 模拟 U 盘的功能。 配置USB MSC设备 点击1处,选中后Device(FS),3处选择MSC大容量存储设备,4处改为4096与FLASH扇区大小保持一致,其他参数默认。 配置USB 时钟 USB时钟...
移植FatFS文件系统,并配置相应的文件操作API。实现对USB闪存盘的基本文件读写操作。硬件配置 在本示例中...
然后在Middleware中找到USB_HOST,并在右侧“Class for FS IP”中选择“Mass Storage Host Class”配置为大容量存储设备。如下图所示: 接着在Middleware中找到FATFS,并在右侧选中“USB Disk”。下方的参数中,将CODE_PAGE设置为简体中文。具体如下图所示: ...
FATFS配置选择USB Disk,可根据自己需要进行功能删减。 这里使能了RTC作为文件系统的时钟。 02 — 代码编写 生成代码之后,可以看到,主循环中已经自动添加了一个函数: 打开函数定义,发现这是一个判断U盘连接状态的函数,用户可以在该函数内添加自定义的功能,也可以在函数外编写其它函数实现功能。
int res = f_mount(&USBHFatFS,USBHPath,1);//挂载U盘 //USBHFatFS、USBHPath这两个参数系统在...
点击Middleware,选择FATFS模式。 配置SYS,选择调试模式为Serial Wire。 在Pinout View界面配置PA4为GPIO_Output模式。 点击Connectivity,配置SPI1为Full-Duplex Master模式。 接着配置USART1为异步模式。 最后修改最小栈容量为0x1400,否则会导致调试时死机。
代码参考了ST官方例程STM32_USB-Host-Device_Lib_V2.1.0\Project\USB_Host_Examples\MSC 移植的FATF...
STM32CubeMX通过FatFS读写U盘的方法最近出现了使用STM32读写U盘的需求,本着自己也出了好多良心博客的份上就像偷懒抄一篇CSDN,但是鉴于某些博主这点小东西都要收费、还不公开源码,一气之下准备自己写一篇博客来谴责某些不良心的博主 zh咖啡不加糖 2022-02-14 06:43:36 如何在STM32上实现USB主机读写U盘文件 在...