
本帖最后由 不吃肉的羊 于 2018-2-16 09:23 编辑 参加工作之后,对U盘功能的使用还是比较频繁,这里简单的做个U盘,实验出来。 首先使用CUBE生成一个工程
首先是对RCC的配置
然后配置SYS
使用全速USB
配置为大容量存储设备
然后是时钟树的配置,USB配置为48M
生成一个工程,编译烧录,可以看到电脑已经有盘符出现了
不过现在还不能使用,现在添加我的W25Q64 驱动程序,驱动程序就不讲了,轮子自己造 首先初始化U盘,也就是初始化W25Q64
添加U盘的读写函数
获取U盘状态
获取U盘信息
最后,一定注意中断优先级的处理让USB中断优先级低于W25Q64和DMA的优先级,否则U盘配置会出问题
现在可以正常格式化U盘
好像有点小,造个假
实际上只有8M的大小(W25Q64只有这么大) 做个文件测试下
放到U盘里面,再打开
|
你好。用的硬件Spi+dma,现在读写是设置的10M,用cube配置的,然后原理图没什么特殊的,直接百度,就可以看到
1. 不要假设 Flash 的容量大小,靠读取 Flash 的识别信息来判断容量。
2. 如果有条件,加一个软件 ECC,这样更耐用一点。
3. 试试看 W25Q128(16MB) 和 S25FL512(64MB)
4. 试试看 GD5F 系列的 SPI NAND 闪存,直接上 512MB/1GB 试试。
好的,谢谢您
新年快乐!
生命在于折腾
https://www.stmcu.org.cn/module/forum/thread-614799-1-1.html