打印

大家好,我想问下我STM32F4读SD卡初始化失败的原因

[复制链接]
6935|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
SEASON3|  楼主 | 2012-2-8 15:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1, 我是用STM32F4 DISCOVERY的SPI口连接到正点原子的开发板的,其它控制IO的都已经连接,SD CHIP SELECT 测试了也是正常的,比如说原子开发板其它SPI外设干扰的去使能,还有官方DISCOVERY开发板的SPI外设我都去使能了,应该不会受到其他SPI外设的干扰了。
2,电源跟地两块实验板我也连接起来了,包括5V电压跟3V电压(DISCOVERY只有3V没3.3V,这个应该也没有影响啊)
3,SPI口的设置我是跟原子开发板的程序是一样的,硬件仿真我看SPI寄存器配置也是对的啊,F4我的PCLK2时钟是FCLK的二分频84MHZ,识别阶段低速模式256分频也是328.125KHZ,也是SD卡识别阶段要求的频率400KHZ以下啊。
4,因为用STM32F4,我怕速度太快,等待SD卡上电时间我已经延长,也产生>74个时钟脉冲(实际我用了100个左右),让SD卡初始化完成。
5,然后通过SPI口读写一个字节的方式发送CMD0命令,但是SD卡进入IDLE状态失败了。(我基本用库编写的,但是SPI读写一个字节命令我用操作寄存器的方式,这个没有影响吧)
6,原子那块开发板我已经把F1的程序给擦除了,其IO口应该影响不到F4对SD卡的控制。

我已经调了很久找不出原因,希望各位大大指点迷津。谢谢!
沙发
ilovezeno| | 2012-2-8 23:14 | 只看该作者
换块卡试试,即使是同一厂牌同一型号,同一容量的sd卡,有一些就是会有问题。。。。。
我在上海买的sandisk 2g卡一切正常,德国买的同一型号的2g就是不能用,浪费我2个晚上。。。。

使用特权

评论回复
板凳
SEASON3|  楼主 | 2012-2-9 09:32 | 只看该作者
2# ilovezeno

我也是,浪费两天了,回头我试试,谢谢你的回答~

使用特权

评论回复
地板
dumachao| | 2012-7-19 18:46 | 只看该作者
楼主你的问题解决了吗,我也出现了进idle进不去的现象不知道是什么原因啊

使用特权

评论回复
5
huangke1993| | 2013-7-22 16:07 | 只看该作者
你收到的响应是什么,我刚初始化好,

使用特权

评论回复
6
jzy294061282| | 2014-8-15 11:09 | 只看该作者
楼主你好,你的SD卡可以用了吗?我的问题是我初始化进入了idle模式,但是读取不到SD卡型号,读取的容量值也是错的,每次只有4B,有时候是0B,同样的程序在F103上面可以,但是移植到F4就出现这种问题

使用特权

评论回复
7
zzjj44| | 2016-6-23 08:27 | 只看该作者
楼主你好,我的也初始化不了,芯片stm32f103,通过keil4调试,发现函数根本没有执SD和MMC卡判语句,但它们都是放在MMC_init()函数里面,不知道怎么回事?有f1的例程吗?发我一份,谢谢!qq:442682192.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

54

帖子

1

粉丝