发 帖  
原厂入驻New
[问答] 为什么我的STM32读SD卡初始化失败了?
323 STM32 SD卡 SPI
分享
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读写一个字节命令我用操作寄存器的方式,这个有影响吗?)
我已经调了很久找不出原因,希望各位大大还有高手原子指点迷津。谢谢!
0
2019-8-12 03:44:42   评论 分享淘帖 邀请回答

相关问题

9个回答
 1,让我的开发板进入ISP模式.(以免其IO引脚干扰F4与SD卡的通信.) 2,检查连线是否正确. 实在没辙,那就用示波器看看各个引脚波形.
---------------------------------
噢,忘了说了原子,我已经把你开发板的芯片程序给擦除了,这个应该免其IO引脚干扰F4与SD卡的通信了吧?
2019-8-12 06:06:46 评论

举报

擦除了那就无干扰了.
2019-8-12 06:14:57 评论

举报

请教原子哥,我用F4的SDIO接了SD卡,容量等信息读出来了,扇区读写和擦除操作也没问题,但文件系统的初始化却老是不通过(在 return 5 处跳出),不知是什么原因呢?
2019-8-12 06:33:22 评论

举报

就是用你例程里的那个,在FAT_Init()初始化不成功。之前试过用fatfs也不行,在f_mount()处就没能得到正确的文件系统信息,SD是已经格式化了的。
2019-8-12 07:06:33 评论

举报

我以前用红牛板也遇到过同样的问题,SDIO的操作方式有中断方式、DMA方式和轮询方式,刚开始用中断方式就会出现这个的问题,后来改为DMA方式就行了。但现在F4只有DMA方式和轮询方式,结果两种都不行,我就不知道怎么办了,应该不是文件系统的问题。
2019-8-12 07:36:39 评论

举报

骤雨龙元你好,能给你代码给我看学习下吗?谢谢!
2019-8-12 07:51:00 评论

举报

http://www.openedv.com/posts/list/2544.htm
2019-8-12 08:20:15 评论

举报

你要SDIO的代码吗?我还没搞定哦,既然你也在学M4,留个Q我们一起讨论好吗?
2019-8-12 08:40:05 评论

举报

恩,好!正愁没人讨论呢,我在你的帖子跟私信都发送了,一起加油。
2019-8-12 08:49:09 评论

举报

只有小组成员才能发言,加入小组>>

22个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /10 下一条

快速回复 返回顶部 返回列表