STM32F407移植读卡器 只要插USB就死机

2019-07-20 11:49发布

移植代码参考的是原子哥的探索者,只是我不用SPI_FLASH而已,只用SD卡。我就直接把原子哥的关于USB方面的移植过来,去除可以选择SPI_Flash部分,然后main做了修改,基本跟USB读卡器这个例程一样,但是只要插USB,单片机死机,然后等几十秒,电脑显示无法识别,然后单片机就一直死机,不管拔不拔USB线,除非硬件重启。重启后单片机又正常跑,只要一插USB就死机,求助。。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
xiaocai828
1楼-- · 2019-07-21 02:39
 精彩回答 2  元偷偷看……
xiaocai828
2楼-- · 2019-07-21 04:45
今天又测试了,即使在原子哥的读卡器源程序上,哪怕到一下LED灯的IO换一下,都会使得USB无法正常工作,很奇怪,要原子哥的程序几乎一点不能动,大神,求解
xiaocai828
3楼-- · 2019-07-21 07:50
原子哥的源程序中,SPI定义的时候,本来应该定义B口的,用B口的345,然后反而使能了A口的,下面定义的是B口,在这个地方我把A换成B都会使得USB整个程序有问题,反而将错就错没问题,为什么原子哥的程序一点不能动,原子哥,解答一下啊
xiaocai828
4楼-- · 2019-07-21 12:21
 精彩回答 2  元偷偷看……
xiaocai828
5楼-- · 2019-07-21 17:54
焊接了外部电阻反而例程都不能正确使用了,所以还是去掉,发现了一个很大的区别,我的SD卡用的是DMA方式,而原子哥的例程中用的是查询方法,不知道是不是这个地方的影响,我用DMA方式是可以操作的,我已经用文件系统读写SD文件验证过,没任何问题,操作好,把SD用读卡器看一下,全部都是好的。不知道会不会是DMA和查询这个地方的影响?
felix
6楼-- · 2019-07-21 21:34
楼主,我这边调试也遇到跟你一模一样的问题。我的解决办法是,第一,SD别用DMA方式,我的DMA中断会导致U盘识别缓慢甚至打不开的情况;第二,把SD_Init()初始化放在USB_Init前面,把USB_Init里面调用的SD_Init()注释掉;然后再看看这样行不行吧。

一周热门 更多>