实验例程中的SD卡实验中把SPI1口改为SPI2口后卡初始化失败是为什么呢?

2019-07-21 03:01发布

原子哥及各位大侠帮我看一下,我利用了SD卡实验例程中的spi.c  spi.h  mmc_sd.c  mmc_sd.h几个文件,其余的都是自己写的,那几个源文件和头文件中我稍稍进行了修改,因为我用的是库,我用SPI1的时候都很正常,但是改到SPI2的时候就不行了,初始化的时候总是失败,不知道大家可不可以帮我看看是什么原因呢;
还有,你的程序中的SPI1的时钟分频是直接操作寄存器做的,但是我改成库函数的时候也不行了,初始化失败了,也不知道为什么;
后来我在改成SPI2口的时候我就直接在mmc_sd.c这个源文件中直接用库函数写时钟的分频,spi.c源文件中时钟分频函数我全给注释掉了;
但是调SPI2口的时候总是不能,我把我改后的工程文件发一个附件,希望大家帮忙看看,改一下,谢谢啊
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
25条回答
baiydcwy
1楼-- · 2019-07-22 13:44
 精彩回答 2  元偷偷看……
baiydcwy
2楼-- · 2019-07-22 14:44
好了,刚刚是把串口调试助手的波特率搞错了,用的是115200,而程序中的是9600,所以收到的总是全0,用SPI2好了,9楼的是用操作寄存器做的,我现在看怎么改一下,改成库的,改发了再发一下,大家指导一下啊
正点原子
3楼-- · 2019-07-22 17:40
 
baiydcwy
4楼-- · 2019-07-22 19:50
呵呵,但是以前不是这个问题,波特率什么的都没有错,但就是行不通,搞的我快一个星期了,我去看看他写的和我写的有什么区别,9楼的用的是你写的操作寄存器版本的,他是直接将所有SPI1的地方直接改为SPI2,而我是用库写的,别的好像没有太大区别,我再仔细看看去,看看到底哪里出了问题。
muc520
5楼-- · 2019-07-22 23:41
我是用原子哥的SPI1改的 我觉得主要就是使能SPI2时钟不一样
lcc8559
6楼-- · 2019-07-23 03:48
 精彩回答 2  元偷偷看……

一周热门 更多>