打印
[STM32F1]

SD卡读写问题求助!

[复制链接]
1238|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
350182617|  楼主 | 2015-9-2 22:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
上电第一次初始化完成,连续创建Demo.TXT文件成功,返回FR_OK,带电状态不拔卡更改文件名为Demo1.TXT重新编译,再次单步运行到f_open函数是总是返回FR_DISK_ERR,单步发现在发送CMD17指令时返回0x04错误指令状态,如果将卡拔下再重新下载运行程序到f_open创建Demo1.TXT就可以返回FR_OK创建文件成功,求教高手这是什么原因造成的,是不是那里没有注意到。

贴段程序代码
        if( _card_insert() == 0 )
    {
          printf("-- SD card detected OK \r\n");
    }
    else
    {
      printf("-- Please connect a SD card \r\n");
      while( _card_insert() != 0 );
      printf("-- SD card connection detected \r\n");
          Delay(0xffffff);
    }

        f_mount(0,&fs);       
        res = f_open( &fsrc , "0:/Demo.TXT" , FA_CREATE_NEW | FA_WRITE);       
       

    if ( res == FR_OK )
    {
      /* Write buffer to file */
      res = f_write(&fsrc, textFileBuffer, sizeof(textFileBuffer), &br);     

          printf("Demo.TXT successfully created        \r\n");
   
      /*close file */
      f_close(&fsrc);      
    }
    else if ( res == FR_EXIST )
    {
          printf("Demo.TXT created in the disk      \r\n");
    }


        scan_files(path);
        SD_TotalSize();

    /* Infinite loop */
    while (1){

    }
沙发
350182617|  楼主 | 2015-9-4 10:47 | 只看该作者
自己顶起,别沉了!

使用特权

评论回复
板凳
enjoylife2017| | 2015-9-4 16:20 | 只看该作者
兄弟你好。我还没到你的问题呢。不过我现在的问题是CMD17响应是0x00400900.然后就不接受其他的响应了。我是FPGA下SD4线模式的。不知道你的初始化流程是什么,能分享一下吗?最好是贴出对应的响应。。。帮帮忙啊。

使用特权

评论回复
地板
铜牌之路| | 2015-9-5 21:09 | 只看该作者
正在看,帮顶

使用特权

评论回复
5
350182617|  楼主 | 2015-9-6 21:09 | 只看该作者
enjoylife2017 发表于 2015-9-4 16:20
兄弟你好。我还没到你的问题呢。不过我现在的问题是CMD17响应是0x00400900.然后就不接受其他的响应了。我是 ...

我的是SPI模式的,响应的指令0x04含义是错误的指令,其他指令正常的都是返回0x00。网上有个帖子也是关于CMD17指令错误的,加大令牌轮询时间解决了,我试过没效果。

使用特权

评论回复
6
liu1004010308| | 2015-9-6 21:25 | 只看该作者
我写SD卡还没有遇到这样的问题,AD采集数据,并且存SD卡中,给你程序。加我qq:1479427474

使用特权

评论回复
7
stm32_guy| | 2015-9-7 17:46 | 只看该作者
兄弟你好,请问你的芯片是哪个型号的呢?使用的是STM32哪个库(标准库还是Cube库)?使用的哪个例程?
建议你可以参考STM32标准库中的例程:TM32F10x_StdPeriph_Lib_V3.1.2\STM32F10x_StdPeriph_Lib_V3.1.2\Project\STM32F10x_StdPeriph_Examples\SDIO;
如果使用Cube库,可以参考cube库中的例程:STM32Cube_FW_F1_V1.2.0\Projects\STM3210C_EVAL\Applications\USB_Device\MSC_Standalone;

使用特权

评论回复
8
Snow7| | 2015-9-7 19:07 | 只看该作者
楼主可以参考库函数的

使用特权

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

本版积分规则

6

主题

47

帖子

1

粉丝