下面我来介绍一下配置FLASH当U盘的操作: 1、我们打开STM32CubeMX,首先配置一下FLASH的SPI引脚,然后在工程文件里导入我们从网上拷贝来的FLASH驱动文件编译测试即可。FLASH的驱动文件W25XX.c和W25XX.h网上挺多的,大家可以自行搜索下载,如果找不见或者不放心可以后台私聊我。 2、USB通信——大容量存储设备类型 回到Cub...
实现对SPI FLASH的读,由于野火的例程里读FLASH这个接口不是说直接传0,1,2,3...的编号就表示第0、1、2、3...个扇区,而是读一个扇区,再读下一个的时候需要偏移4096个字节(一个扇区的大小)才是下一个扇区,所以记得这里要乘上4096(一个扇区的大小),就刚好是一个扇区,这个取决于驱动接口怎么写,有些接口如果...
main.c中保留原来FATFS文件系统测试函数: FATFS_FLASH_Test(); 运行代码,FATFS成功创建RY.txt文件,串口输出如下。 USB插入PC,查看U盘内容,可看到FATFS文件系统创建的RY.txt 5. 小结 本章实现了使用SPI FLASH模拟U盘,并在U盘上创建了文件。
1、初次使用需要格式化一次; 2、只要有STORAGE_Read_FS()就能读出内容; 3、格式化和写入文件需要STORAGE_Write_FS(); 4、能不能正常运行,关键在于w25qxx的驱动; 5、W25Qxx的驱动在上一篇文章(STM32CubeMX+w25qxx)。
stm32 cubemx spi norflash虚拟u盘 STM32F103 USB实现虚拟串口 最近买了一个STM32F103C8T6最小核心板,使用CubeIDE无法识别该芯片,发现该芯片的flash是128Kbytes,ST的标准库是64Kbytes,奇怪啊!也许是国产替代的,国产化太先进了,导致原厂落后了,不认识先进的东西了。
实现对SPI FLASH的读,由于野火的例程里读FLASH这个接口不是说直接传0,1,2,3...的编号就表示第0、1、2、3...个扇区,而是读一个扇区,再读下一个的时候需要偏移4096个字节(一个扇区的大小)才是下一个扇区,所以记得这里要乘上4096(一个扇区的大小),就刚好是一个扇区,这个取决于驱动接口怎么写,有些接口如果...
SPI_FLASH:W25Q64(Q80, 16, 32, 64, 128均可) IDE:Keil V5 USB大容量存储设备类(The USB mass storage device class),简称MSC(Mass Storage Class),允许一个通用串行总线(USB)设备来访问主机的计算设备,使两者之间进行文件传输。 本文将W25Q64模拟USB MSC设备,即当作U盘使用。 1. 学习大师的文章《STM32-...
使用SPI总线的Flash模拟成U盘,然后把app的bin文件拷到模拟u盘中,通过SPI去读取SPI内保存的bin文件数据,然后写入缓存中,QSPI读取缓存数据到QSPI中,最后执行跳转程序,运行app。 细节 1,使用stm32cubemx创建一个usb模板 2,编写SPI,W25Q64驱动 AI检测代码解析 ...
step5:USB配置选择Mass Storage Class,并将③处改为4096,原因为我们开发板采用外部FlashW25Q64模拟U盘存储数据,W25Q64一个扇区大小为4096 Byte,配置如下图所示。 usb2.png step6: USB时钟配置为48MHz。 usb48mhz.png step7: 开启SPI1,因开发板外部FlashW25Q64和单片机之间通过SPI1实现通信。如下图所示,SPI1模...
1.查阅W25Q64 数据手册Datasheet,获取其SPI的时钟相位和极性。这可是通信的关键哦! 看见没!SPIFlash支持两种SPI标准通信模式,分别是 SPI0:CPOL=0,CPHA=0 SPI3:CPOL=1,CPHA=1 OK!想要的信息得到了! 2.选择和配置MCU SPI资源,在这里咱就用SPI1了!如下图: ...