OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2798|回复: 3

使用软件模拟的方式驱动SD卡,发现读取CMD0的值都为0xff

[复制链接]

3

主题

10

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2017-7-5
在线时间
15 小时
发表于 2018-3-20 16:55:29 | 显示全部楼层 |阅读模式
30金钱
在参考了网上的一个例子后,我想修改一下SD卡的实验,使用软件模拟SPI的方式来驱动SD卡,结果在发送CMD0之后,只能一直接收到0XFF,麻烦大佬们帮忙看一下
这是sd卡初始化代码,其中printf函数有点冲突,所以我先注释掉了
[mw_shl_code=applescript,true]void SDCARD_Init_1(void)  
{  
    u8 i = 0;  
    SPI_SDCARD_nCS_PIN=1;  
       
    //发送80 个clks  
    for(i = 0; i < 10; i++)  
    {  
        SPI_SDCARD_Write(SDCARD_DUMMY_BYTE);  
    }  
       
    SPI_SDCARD_nCS_PIN=0;  
    SDCARD_WriteCmd(SDCARD_CMD_GO_IDLE_STATE,0x00000000,0x95);  
       
    if(0 != SDCARD_WaitResponse(SDCARD_IN_IDLE_STATE))  
    {  
        //进入IDLE模式失败  
        //printf("response err!\r\n");  
    }  
       
    SPI_SDCARD_nCS_PIN=1;  
    SPI_SDCARD_Write(SDCARD_DUMMY_BYTE);  
    //printf("response success!\r\n");  
    SPI_SDCARD_nCS_PIN=0;  
       
    SDCARD_WriteCmd(SDCARD_CMD_SEND_IF_COND,0x1AA,0x87);//verify SD Card interface operating condition  
    while(1)  
    {  
       // printf("ack:%02X\r\n",SPI_SDCARD_Read());  
        i++;  
        if(i >= 255)  
        {  
            break;  
        }  
    }  
       
  //  printf("sdcard init over!\r\n");  
} [/mw_shl_code]

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

10

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2017-7-5
在线时间
15 小时
 楼主| 发表于 2018-3-20 16:57:40 | 显示全部楼层
这里是全部代码

软件模拟SPI驱动SD卡.zip

1.48 MB, 下载次数: 87

回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2018-3-21 01:44:22 | 显示全部楼层
帮顶
回复

使用道具 举报

3

主题

10

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2017-7-5
在线时间
15 小时
 楼主| 发表于 2018-3-21 11:39:35 | 显示全部楼层
有没有大佬帮我看看呀
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-7 11:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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