环境
硬件: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
查看评论