main.c中保留原来FATFS文件系统测试函数: FATFS_FLASH_Test(); 运行代码,FATFS成功创建RY.txt文件,串口输出如下。 USB插入PC,查看U盘内容,可看到FATFS文件系统创建的RY.txt 5. 小结 本章实现了使用SPI FLASH模拟U盘,并在U盘上创建了文件。
* @retval USBD_OK if all operations are OK else USBD_FAIL*/int8_t STORAGE_Write_FS(uint8_t lun, uint8_t*buf, uint32_t blk_addr, uint16_t blk_len) {/*USER CODE BEGIN 7*//*因为传进来的参数是扇区的地址和扇区的大小,在进行写的时候要转换成字节地址和字节大小,flash写之前要擦除*/...
我使用的STM32芯片是STM32F103ZE,该芯片有512K的内部flash,本次工程,我准备用最后的400K空间来模拟一个U盘。本次的工程在之前用NAND或SD卡的工程基础上进行修改。 首次要做的是在外设库组中添加stm32f10x_flash.c文件,因为涉及到内部flash,所以必须添加此文件。接下去,需要修改的文件只有mass_mal.c和memory.c两...
下面我来介绍一下配置FLASH当U盘的操作: 1、我们打开STM32CubeMX,首先配置一下FLASH的SPI引脚,然后在工程文件里导入我们从网上拷贝来的FLASH驱动文件编译测试即可。FLASH的驱动文件W25XX.c和W25XX.h网上挺多的,大家可以自行搜索下载,如果找不见或者不放心可以后台私聊我。 2、USB通信——大容量存储设备类型 回到Cub...
stm32CubeMX-SpiFlash模拟U盘 一、stm32CubeMx配置 1、勾选USB 2、配置USB设备 3、时钟配置 4、堆和栈改大点 二、修改代码 1、 2、STORAGE_Init_FS() 3、STORAGE_Read_FS() 4、STORAGE_Write_FS() 三、运行结果 ——— 1、初次使用需要格式化一次; 2、只要有STORAGE_Read_FS()就能读出内容; 3、格...
step5:USB配置选择Mass Storage Class,并将③处改为4096,原因为我们开发板采用外部FlashW25Q64模拟U盘存储数据,W25Q64一个扇区大小为4096 Byte,配置如下图所示。 step6: USB时钟配置为48MHz。 step7: 开启SPI1,因开发板外部FlashW25Q64和单片机之间通过SPI1实现通信。如下图所示,SPI1模式选择Full-Duplex-Master,...
这次是做一个SD卡的读卡器的功能,我们就在上次Flash模拟出的U盘的工程上修改了,这样的话只要修改一小部分了。 工程的绝大部分不需要修改,只要将fsmc_.c文件移除工程,添加上官方的关于SDIO的SD卡的驱动代码文件_eval_sdio_sd.c,我讨厌出现eval,所以将该文件直接改为sdio_ard.c。同时,既然我们使用SDIO来驱动SD卡...
U盘,全称USB闪存盘,英文名“USB flash disk”。它是一种使用USB接口的无需物理驱动器的微型高容量移动存储产品,通过USB接口与主机连接,实现即插即用,是最常用的移动存储设备之一。 STM32H750的USB OTG FS支持U盘,并且ST官方提供了USB HOST大容量存储设备(MSC)例程,ST官方例程路径:光盘8,STM32参考资料1,STM32Cu...
stm32 cubemx spi norflash虚拟u盘,STM32F103USB实现虚拟串口最近买了一个STM32F103C8T6最小核心板,使用CubeIDE无法识别该芯片,发现该芯片的flash是128Kbytes,ST的标准库是64Kbytes,奇怪啊!也许是国产替代的,国产化太先进了,导致原厂落后了,不认识先进的东西了。只
step5:USB配置选择Mass Storage Class,并将③处改为4096,原因为我们开发板采用外部FlashW25Q64模拟U盘存储数据,W25Q64一个扇区大小为4096 Byte,配置如下图所示。 usb2.png step6: USB时钟配置为48MHz。 usb48mhz.png step7: 开启SPI1,因开发板外部FlashW25Q64和单片机之间通过SPI1实现通信。如下图所示,SPI1模...