野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 19506|回复: 10

SDIO读写SD卡问题

[复制链接]
发表于 2014-4-11 18:48:32 | 显示全部楼层 |阅读模式
最近在学习SD卡,把例程跑了下,发现一直是SD卡擦除测试失败,这是什么原因呢??
回复

使用道具 举报

发表于 2014-4-11 18:50:54 | 显示全部楼层
有的sd卡可能不兼容,换一张sd卡来试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-11 18:52:00 | 显示全部楼层
flyleaf 发表于 2014-4-11 18:50
有的sd卡可能不兼容,换一张sd卡来试试

SD卡换过了,只是擦除测试失败,读写可以成功,好奇怪
回复 支持 反对

使用道具 举报

发表于 2014-4-11 18:56:45 | 显示全部楼层
随风而至 发表于 2014-4-11 18:52
SD卡换过了,只是擦除测试失败,读写可以成功,好奇怪

这么神奇?  那你直接使用文件系统的例程来试试看,如果可以用就不要纠结它了,可能是软件的bug

使用文件系统程序的时候要注意先把sd卡在电脑上格式化成fat格式
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-11 18:57:32 | 显示全部楼层
flyleaf 发表于 2014-4-11 18:56
这么神奇?  那你直接使用文件系统的例程来试试看,如果可以用就不要纠结它了,可能是软件的bug

使用文 ...

好的啊,我试试看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-11 19:31:12 | 显示全部楼层
flyleaf 发表于 2014-4-11 18:56
这么神奇?  那你直接使用文件系统的例程来试试看,如果可以用就不要纠结它了,可能是软件的bug

使用文 ...

刚才DEBUG的时候看到了
  while (BufferLength--)
  {
          a =  *pBuffer;
    /* In some SD Cards the erased state is 0xFF, in others it's 0x00 */
    if ((*pBuffer != 0xFF) && (*pBuffer != 0x00))//²Á³ýºóÊÇ0xff»ò0x00
    {
      return FAILED;
    }
        printf("a now is %d", a);
    pBuffer++;
  }
擦除SD卡的时候,数组的第一个是"0",第二个元素就是"1"了。这个是怎么回事???
回复 支持 反对

使用道具 举报

发表于 2014-4-11 19:42:24 | 显示全部楼层
随风而至 发表于 2014-4-11 19:31
刚才DEBUG的时候看到了
  while (BufferLength--)
  {

擦除不成功,擦除成功的话应该全部是 0 的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-11 19:45:28 | 显示全部楼层
万卿月 发表于 2014-4-11 19:42
擦除不成功,擦除成功的话应该全部是 0 的

pBuffer擦除之后怎么是0,1,2,3,4,5、、、这种排序呢?好奇怪,应该是00,或者0xff
回复 支持 反对

使用道具 举报

发表于 2014-4-11 19:59:52 | 显示全部楼层
随风而至 发表于 2014-4-11 19:45
pBuffer擦除之后怎么是0,1,2,3,4,5、、、这种排序呢?好奇怪,应该是00,或者0xff

莫非是程序修改了?你用的是什么板子?我上传个程序给你测试一下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-11 20:03:03 | 显示全部楼层
我用的是百为的板子,SDIO硬件连接部分是一样的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-11 20:03:22 | 显示全部楼层
野火的板子也有,身边有50套野火的呢
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 23:24 , Processed in 0.033661 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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