各路神仙请点进来,SD卡的读写问题

2019-08-14 02:48发布

先贴代码:
  /*******************************SD卡读写测试******************************/
          for(i=0;i<512;i++)
         {
          sd_read[i] = 0;
                sd_write[i] = i;
         }  
         
         temp = SD_ReadDisk(sd_read,0,1);
         printf(" %d ",temp);
         printf(" SD Card读扇区0: ");
          for(i=0;i<512;i++)
         {
          printf("0x%02x ",sd_read[i]);
         }

         temp = SD_WriteDisk(sd_write,1,1);
         printf(" %d ",temp);
         printf(" SD Card读扇区1: ");
          
         SD_ReadDisk(sd_read,1,1);
         
         for(i=0;i<512;i++)
         {
          printf("0x%02x ",sd_read[i]);
         }
         
         while(1);



这段代码用来测试SD卡的读写功能的,读出的数据打印串口调试助手。现在问题是,能成功读出扇区0的数据,但是读取扇区1的数据时,全为0。

代码用的是原子战舰V3的代码,我估计是写数据不成功。会不会是sd卡被写保护了呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
正点原子
1楼-- · 2019-08-14 03:42
 精彩回答 2  元偷偷看……
正点原子
2楼-- · 2019-08-14 05:36
是我们开发板么?
a3748622
3楼-- · 2019-08-14 09:38
正点原子 发表于 2017-9-6 00:10
是我们开发板么?

自己画的板子,SDIO接口跟原子战舰V3一样的。我用一张大卡插进战舰,可成功读写。然后在魔术棒哪里把MCU换成F103VC系列,烧到自己板子,小的TF卡能读不能写数据
a3748622
4楼-- · 2019-08-14 15:07
正点原子 发表于 2017-9-6 00:10
是我们开发板么?

原子哥,我在战舰上烧录了SD卡的库函数版本代码,将查询模式改为DMA模式

                 errorstatus=SD_SetDeviceMode(SD_DMA_MODE);        //设置为DMA模式
                //errorstatus=SD_SetDeviceMode(SD_POLLING_MODE);        //设置为查询模式

其他一切没改动,为什么串口不打印SD卡扇区0的数据了,按KEY0没反应

一周热门 更多>