OpenEdv-开源电子网

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

求助:SD卡问题

[复制链接]

5

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2013-3-14
在线时间
0 小时
发表于 2013-3-18 21:04:51 | 显示全部楼层 |阅读模式
 硬件之间采用spi模式。
问题一:SD卡的不同型号所用的CMD命令是否相同?操作过程是否相同?
问题二:采用FAT32文件系统是,FAT32的系统是如何利用spi    操作SD卡的?有什么关联函数吗?
问题三:FAT32的系统源函数在哪里可以得到?
这些问题感觉好迷惑,希望各位指点迷津。 
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-3-18 23:30:03 | 显示全部楼层
回复【楼主位】牵手一生:
---------------------------------
1,SD卡有标准的,不遵循标准的就不能在市面上通用,所以所有SD卡,CMD大部分是兼容的,不过由于SD卡有各种版本(SDV1.X,SDV2.0),细微有些区别,具体可以看SD卡协议的白皮书.
2,FAT32和SPI没有因果联系,只是说SD卡支持SPI通信这种方式,而FAT32是一个文件系统,管理存储设备上的文件的,SD卡在被格式化以后,就遵循文件系统的相关内容了,这个又要看FAT的白皮书了.
3,源码目前有比较好的现成代码:FATFS,znFAT...你都可以参考.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

10

主题

74

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2013-3-22
在线时间
0 小时
发表于 2013-3-23 22:59:44 | 显示全部楼层

FATFS 文件系统人家已经编好了,你只管做好你的底层驱动,让后再移植FATFS系统就OK了。 除了spi模式外 还有sdio,呵呵,鄙陋之见 望海涵!

http://mcu-web.taobao.com 有zigbee 无线电压、温湿度、继电器实验 zigbee自组网实验 stm32开发板 enc28j60以太网 web服务器
回复 支持 反对

使用道具 举报

54

主题

537

帖子

0

精华

高级会员

Rank: 4

积分
797
金钱
797
注册时间
2012-2-27
在线时间
7 小时
发表于 2013-3-24 00:03:53 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
板子支持卡的大小或者品牌由什么决定?文件系统的选择原因,还是其他规格要求的?是硬件还是软件移植的问题?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-3-24 00:17:58 | 显示全部楼层
回复【4楼】wwjdwy:
---------------------------------
支持的卡由卡类型决定的,我们现在测试的卡,SDIO模式,通杀,没有不能识别的卡.
SPI模式,MMC卡支持不好,主要体现是发送CMD1后,MMC卡不回应,导致无法完成初始化,这个是目前最主要的问题.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

54

主题

537

帖子

0

精华

高级会员

Rank: 4

积分
797
金钱
797
注册时间
2012-2-27
在线时间
7 小时
发表于 2013-3-24 00:51:17 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
市面上经常有说自己电子设备只支持n G大小的卡,大了不支持,这是什么原因?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-3-24 10:12:17 | 显示全部楼层
回复【6楼】wwjdwy:
---------------------------------
这个没研究。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

5

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2013-3-14
在线时间
0 小时
 楼主| 发表于 2013-3-24 21:56:32 | 显示全部楼层
回复【7楼】正点原子:
------------------------------
原子哥,我的程序在打开文件时:res=f_open(&fil,"MEMS.txt",FA_OPEN_EXISTING|FA_READ);老是出错,用串口打印res的值显示为‘13’,也就是: FR_NO_FILESYSTEM, /* (13) There is no valid FAT volume */
这可能是怎么回事呢?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-3-24 23:11:02 | 显示全部楼层
你整个代码怎么写的?有没有先mount?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

5

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2013-3-14
在线时间
0 小时
 楼主| 发表于 2013-3-24 23:14:42 | 显示全部楼层
回复【9楼】正点原子:
---------------------------------
int main()
{
FATFS fs;
    FIL fil;
FRESULT res; //文件系统返回信息
BYTE byte[65];
    u32 len;

System_Init2(); //初始化SD系统
printf("\r\n SD 卡系统开始,请确保SD卡中存在文件:MEMS.txt \r\n");
f_mount(0,&fs);//注册一个文件系统
res=f_open(&fil,"MEMS.txt",FA_OPEN_EXISTING|FA_READ);
    if(res!=FR_OK) 
    {
//if(res==FR_INVALID_NAME)
        printf("\r\n res=%d ",res);
        return 0;
    }
    //读取文件并打印到串口上
    for(;;) 
{
        res = f_read(&fil, byte, sizeof(byte)-1, &len);
     if (res || len == 0) 
            break;   // error or eof
     byte[len]='\0';
         USART_SendManyData(byte,len);


    f_close(&fil);
f_mount(0, NULL);
}

SD_Card.zip

3.42 MB, 下载次数: 163

回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-3-24 23:39:29 | 显示全部楼层
FATFS fs; 
    FIL fil; 
做全局变量.
如果还是不行,说明你的fatfs移植还有问题.先读容量,看能不能读出来吧.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

13

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
107
金钱
107
注册时间
2013-4-4
在线时间
0 小时
发表于 2015-4-16 11:16:51 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
原子哥,我用的是SD卡槽,里面再塞一张小的MMC卡,再放到MINI板上,有时候读取不到,初始化不了,是不是与MMC卡的兼容性有关?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-4-16 23:06:43 | 显示全部楼层
回复【12楼】一蓑、烟雨。:
---------------------------------
SPI对TF卡支持不太好的。。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-23 13:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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