stm32单片机用spi初始化sd卡中的一些问题及反思

初次使用spi接口读写sd卡,在初始化阶段一直过不去,经过几天的借鉴、分析、学习终于靠移植原子哥的代码成功,借助逻辑分析仪找出了自己一直初始化不成功的原因,分享出来,供大家参考使用,新手摸石头过河,多有不足,还请斧正!!

先上时许图第一张图是逻辑分析仪抓的运行图,第二张图是手册里的时许图。

 

下面是初始化阶段的代码(代码是原子哥的开发板例程)(下图)

u8 SD_Init(void)
{
    u8 r1;
    u16 retry;
    u8 buf[4];  
	u16 i;

	SD_SPI_Init();	
 	SD_SPI_SpeedLow();
 	for(i=0;i<10;i++)SD_SPI_ReadWriteByte(0XFF);
	retry=20;
	do
	{
		r1=SD_SendCmd(CMD0,0,0x95);
	}while((r1!=0X01) && retry--);
 	SD_Type=0;
	if(r1==0X01)
	{
		if(SD_SendCmd(CMD8,0x1AA,0x87)==1)//SD V2.0
		{
			for(i=0;i<4;i++)buf[i
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个人创造世界

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值