SDHC卡初始化

2019-03-24 08:19发布

我现在在弄读写TF卡,用的是MSP430F5342,我发CMD0、CMD55、ACMD41返回值没错;不过发CMD8时,V1.x的卡返回0xFF,V2.0的卡返回0x01;2.0的卡前几个命令没错,但发到CMD58时出错了,返回0xFF。我还有一个F149的开发板,SD卡能读写,但SDHC卡也一样,也是在CMD58那返回0xFF,请问我该怎么解决,求大神指教!
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
qwerghf
1楼-- · 2019-03-24 12:17
 精彩回答 2  元偷偷看……
ienglgge
2楼-- · 2019-03-24 15:06
< :TI_MSP430_内容页_SA7 --> 你找个2.0的协议看一下。初始化过程认真分析一下。一条命令,有可能需要重复发送很多次。卡才会有反应。不要认为卡收到数据,就立刻完成处理。他需要一定的时间。程序上要有这个机制。
joyxysetu
3楼-- · 2019-03-24 15:13
qwerghf 发表于 2017-10-12 11:18
硬件上拉了没有,检查一下硬件,再判断程序

有上拉
joyxysetu
4楼-- · 2019-03-24 19:32
 精彩回答 2  元偷偷看……
joyxysetu
5楼-- · 2019-03-24 23:30
joyxysetu 发表于 2017-10-12 17:09
恩,我试试多发几次

之前我发CMD58返回值是0xFF,现在我重复发CMD58发现返回值一直不是0xFF就是0x01。
joyxysetu
6楼-- · 2019-03-25 00:33
现在我程序改用FatFs13里的ff.h、ff.c、diskio.h、diskio.c作底层函数,发命令CMD0、8、55、ACMD41、58返回值都没错了。不过用16G的卡时,用f_mount函数注册一个工作区会返回FR_NO_FILESYSTEM,但我用2G的FAT卡时却能成功,后面还能用f_open创建一个文件并用f_write写入数,我把这2G的FAT卡格式化为FAT32后,也一样能成功。
不知道怎么回事,求大神指教!!!

一周热门 更多>

相关问题

    相关文章