关于SD卡上电失败的问题

2019-07-20 04:45发布

开了一张板子,MCU使用的是stm32f407vet,然后挂了一张金士顿2G的用的TF卡,然后把原子哥的SDIO代码移植过去,发现程序经常死在上电这里.板子断电再上电就能够通过,然后调试调试着就死了,在给卡上电这里就死活过不去,然后把卡拔出来插进去又OK.
一开始以为是硬件设计的原因,后来找到一张N年前的诺基亚512M的TF卡,每次都能过.然后又怀疑是卡的问题,又把多年前开了一块103的板子拿出来试,为了代码的一致性还专门去下载了原子哥103开发板的例程,然后卡也是OK的.
然后我就彻底懵逼了,各种查资料,说什么一开始要发74个时钟,什么的我都试过了,反正就是在407的板子上面用那张2G的金士顿TF卡不行,也不是不行,就是经常莫名其妙就死掉了.
不知道有没有朋友遇到过类似情况的,还望指点指点,大半夜的睡不着发个贴子求助一下大家.
我在下面贴代码.....
   


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
15条回答
阿法尔大胡子
2019-07-20 18:27
正点原子 发表于 2016-11-17 22:52
换多两个卡试试吧。103的频率比407低,你降低下SDIO时钟频率看看

好奇怪的问题,我甚至怀疑有可能是布线布局的原因,然后我都用103的板子和407的板子相互飞线来调试,结果现象跟之前一样,103 OK  407不行,然后我就怀疑是不是驱动的原因,又去买了一个逻辑分析仪,然后逻辑分析仪出来的数据,初始化流程,全部都是一样的,103在第二次CMD41的时候就能够读到上电标志位,407怎么都不行,然后时钟频率的话都是400K

一周热门 更多>