小言_互联网的博客

嵌入式:基于stm32f103rc 实现SPI+FLASH实现USB大容量设备

317人阅读  评论(0)

环境

硬件:stm32f103rc


这里提一下,一般来说,USB是需要接上拉电阻的,同时D+上需要接一个3.3v的电压,对于正点原子的stm32f407探索者来说,按照本例程的话,生成会无效,无法识别。应为正点原子的407USB电路不一致。

软件:stm32cubemx

步骤

1.生成初始化文件





这里我已经对工程改了,如果你没有改的话,需要进行一下设置


测试:插上USB线,会出现以下,即为正确。

这里是做完了,会出现一个U盘的枚举,但是你无法对其操作,这里因为读写操作的API没接。
有问题的话,检查以下情况:

1.USB设备的干扰:本人有两个USB口,发现直接USB口,可正常使用,否则有干扰。

2.USB设备的电路:这个实验一开始使用的正点原子407,发现就是不行,后续更换开发板,发现可以,总结就是电路问题,请比较电路连接和硬件区别。

3.堆栈大小:部分的开发板,发现和堆栈的设置有关,可修改。

2.添加FLASH w25系列万能驱动

驱动来源于网上,由于是GitHub上,本人已fork,详细可参看工程。
使用事项:

测试连接性的话,可以通过如下方式:

如果读取是你的FLASH,即为正确。

3.自定义USB文件

最后的一个,修改USB的配置文件。


一共要4个地方,分别为3个函数:


这里可以使用默认的

测试:

1.USB设备读写

2.断电重新连接


驱动文件:
https://gitee.com/linyuehai/stm32-f103-rc/tree/master/w25qxx%E4%B8%87%E8%83%BD%E9%A9%B1%E5%8A%A8
工程文件:
https://gitee.com/linyuehai/stm32-f103-rc/tree/master/
也可以查看项目工程


转载:https://blog.csdn.net/GongmissYan/article/details/115855157
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场