OpenEdv-开源电子网

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

MINI开发板读TF卡问题

[复制链接]

6

主题

31

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2011-5-17
在线时间
5 小时
发表于 2011-5-21 10:10:57 | 显示全部楼层 |阅读模式

今天用一张TF卡插在板子测试(当然带了SD卡卡套),卡片初始化通过,但就是在读CSD时出错 ,调试时看到CSD[16]这个数组的值为CSD[4]=0x0A,CSD[9]=0x10,CSD[10]=0x01,CSD[11]=0x40, 其它的全是0,不知道是什么问题,由于以前没有接触过SD卡,不明白CSD数组的16个值分别代表什么意思,那位兄弟知道请指点一二,谢谢。






应网友要求,上传SDIO驱动TF程序,根据TFT测试程序改的,LCD控制线有改动,芯片是64脚STM32 RC系列

ALIENTEK MINISTM32 实验10 TFTLCD显示实验.rar

1.3 MB, 下载次数: 1102

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2011-5-21 14:11:42 | 显示全部楼层
回复【楼主位】菜鸟学STM32:
-----------------------------------------------------------------------
这是有这个问题的,有些卡读出CSD也算不出容量.
这两天我在弄fatfs,它的初始化不是靠csd的.所以fatfs在这类卡上也可以用.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

6

主题

31

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2011-5-17
在线时间
5 小时
 楼主| 发表于 2011-5-21 20:37:28 | 显示全部楼层
我在另个一个板子上试了,STM32F103ZET6 用库里自带的SD模式,可以读出这个TF卡
回复 支持 反对

使用道具 举报

6

主题

31

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2011-5-17
在线时间
5 小时
 楼主| 发表于 2011-6-1 22:48:04 | 显示全部楼层
除了楼主没有人回我,放了一段时间没搞,今天晚上拿出来一步一步防真看了一下,TF卡是1.0版的,同时我也搞了一张1.0的SD卡,也是读不出来,2.0版本的卡可以读出。

r1 = SD_SendCommand_NoDeassert(8, 0x1aa,0x87);      
r1读出来的值是0X05,//1.0版本的

在写入CMD9等待返回时超时,暂时不知道是什么原因,希望遇到过这种情况的兄弟们指点一下。
回复 支持 反对

使用道具 举报

6

主题

31

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2011-5-17
在线时间
5 小时
 楼主| 发表于 2011-6-1 23:00:38 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
根据SD卡容量信息在SCD寄存器位置来算,CSD[4]=0x0A,CSD[9]=0x10,CSD[10]=0x01,CSD[11]=0x40, 只有这个数据有值,算出来容量结果确实为0,问题好像是出在根本就没有读出CSD寄存器的值,在写CMD9命令等待响应时就已经超时退出了,这几个值不知道是怎么随机来的
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2011-6-2 02:25:27 | 显示全部楼层
回复【4楼】菜鸟学STM32:
---------------------------------
确实有的卡是初始化不了的.
这点我之前也碰到过.
如果能初始化,接下来的就比较好做了.
sd卡容量读不出,也有这种卡的.我也碰到过.
以上两种情况,在我们现有的代码上都没办法.
解决办法:
1,换卡.
2,升级代码.
3,使用fatfs(仅适用第二种情况.)
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

6

主题

31

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2011-5-17
在线时间
5 小时
 楼主| 发表于 2011-7-22 20:08:15 | 显示全部楼层
现在用SDIO方式驱动,基本上SD卡,TF卡都行,只是要用库函数,用起来不爽
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2011-7-22 20:25:31 | 显示全部楼层
楼上弄个寄存器版本的出来撒.呵呵.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

12

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
127
金钱
127
注册时间
2011-7-18
在线时间
0 小时
发表于 2011-7-23 09:46:30 | 显示全部楼层
回复【7楼】菜鸟学STM32:
---------------------------------
什么是SDIO方式?我的sd卡也驱动不了,初始化失败
回复 支持 反对

使用道具 举报

12

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
127
金钱
127
注册时间
2011-7-18
在线时间
0 小时
发表于 2011-7-23 09:53:00 | 显示全部楼层
回复【4楼】菜鸟学STM32:
---------------------------------
什么是2.0版本的sd卡?怎么区别?我的sd卡1G的金士顿,初始化失败!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2011-7-23 09:55:32 | 显示全部楼层
这是SD卡的版本.
初始化的时候就可以判断出来的.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

6

主题

31

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2011-5-17
在线时间
5 小时
 楼主| 发表于 2011-7-23 10:17:14 | 显示全部楼层
回复【8楼】正点原子:
---------------------------------
有那想法,但是SDIO寄存器都没有搞清楚,STM32规格书上关于SDIO寄存器的说明很少,只是实际用到的一部分。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-24 19:12

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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